【发布时间】:2021-02-08 04:44:37
【问题描述】:
我正在尝试从模型 Locations 中导出名称列表。 Locations 有几个包含名称列表的对象,例如:
['New York', 'Ohio', California'] ['New York', 'Chicago', California'] ['Miami', 'Ohio', California']
导出函数如下:
def export(request):
response = HttpResponse(content_type='text/csv')
writer = csv.writer(response)
writer.writerow(['Location']) #header
for launch in Location.objects.all().values_list('L_name'):
export_data = zip_longest(*launch, fillvalue='')
writer.writerows(export_data)
response['Content_Disposition'] = 'attatchment';
return response
Writerow 对每个名称的字符进行迭代,生成一列字符而不是名称。相反,我希望每个 Location 对象中的每个名称都在其自己的行中,在同一列中。上面的示例将产生九行。
关于如何实现这一点的任何想法?
感谢您的任何意见。
【问题讨论】:
-
最简单的答案是:向
writer.writerows(...)提供正确的输入 - 您不会分享您尝试写入的数据的结构/方式或export_data的外观。它应该是一个列表列表,每个内部列表是一行,它的每个元素都是这一行的一列。没有数据,这很难回答。请edit加export_data。