Python django csv标题和行格式问题
我试图创建csv下载,但结果下载给我不同的格式Python django csv标题和行格式问题,python,django,csv,django-views,export-to-csv,Python,Django,Csv,Django Views,Export To Csv,我试图创建csv下载,但结果下载给我不同的格式 def csv_download(request): import csv import calendar from datetime import * from dateutil.relativedelta import relativedelta now=datetime.today() month = datetime.today().month d = calendar.mdays[
def csv_download(request):
import csv
import calendar
from datetime import *
from dateutil.relativedelta import relativedelta
now=datetime.today()
month = datetime.today().month
d = calendar.mdays[month]
# Create the HttpResponse object with the appropriate CSV header.
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename=somefilename.csv'
m=Product.objects.filter(product_sellar = 'jhon')
writer = csv.writer(response)
writer.writerow(['S.No'])
writer.writerow(['product_name'])
writer.writerow(['product_buyer'])
for i in xrange(1,d):
writer.writerow(str(i) + "\t")
for f in m:
writer.writerow([f.product_name,f.porudct_buyer])
return response
上述代码的输出:
product_name
1
2
4
5
6
7
8
9
1|10
1|1
1|2
.
.
.
2|7
mgm | x_name
wge | y_name
我像这样向外看
s.no porduct_name product_buyser 1 2 3 4 5 6 7 8 9 10 .....27 total
1 mgm x_name 2 3 8 13
2 wge y_name 4 9 13
你能帮我下载上面的csv吗?
如果可能的话,你能告诉我如何总结所有的个人用户总数吗
例如:
我们有销售表,每天都会插入卖家信息
表数据看起来像
S.no product_name product_seller sold Date
1 paint jhon 5 2011-03-01
2 paint simth 6 2011-03-02
我已经创建了一个表格,它显示在下面的格式,我正在尝试创建csv下载
s.no prod_name prod_sellar 1-03-2011 2-03-2011 3-03-2011 4-03-2011 total
1 paint john 10 15 0 0 25
2 paint smith 2 6 2 0 10
请阅读这篇文章,特别是这篇文章
您会注意到csv.writer对象包含一个列表,其中的元素表示它们在分隔线中的位置。因此,要获得所需的输出,您需要传入如下列表:
writer = csv.writer(response)
writer.writerow(['S.No', 'product_name', 'product_buyer'] + range(1, d) + ['total'])
这将为您提供所需的标题输出
如果只想填充行的某些部分,则可能需要浏览该类。它干净多了。这就是你要做的:
writer = csv.DictWriter(response,
['S.No', 'product_name', 'product_buyer'] + range(1, d) + ['total'])
然后,当您的写入命令如下所示:
for f in m:
writer.writerow({'product_name': f.product_name, 'product_buyer': f.product_buyer})
产品对象还有哪些字段?您只在上面的示例代码中公开了product_name和product_buyer。您是否只是在从数据库中获取对象之前为确定的特定月份生成文件?是的,我正在尝试为特定月份生成文件谢谢您的代码,这里我无法根据日期获取数据,如范围(1,d)r类似于日期标题,取决于我需要根据该单元格提取数据。你能给我一个你想做什么的例子吗?我给问题添加了一个例子