我试图将数据(主要是日期、布尔值和浮动数据类型)写入CSV文件格式。下面是我的代码片段:
# Write data to file
with open(OUTPUT_DIR + output_filename,'w') as outputfile:
wrtr = csv.writer(outputfile, delimiter=',', quotechar='"')
for x, y in datarows.items():
a,b,c,d,e,f,g = (somedate.strft('%Y-%m-%d'),0,6058.7,False,1913736200,0,False)
rowstr = "{0},{1},{2},{3},{4},{5},{6}".format(a,b,c,d,e,f,g)
wrtr.writerow(rowstr)
outputfile.close()文件内容如下所示:
2,0,0,7,-,10,-,03,",6,0,5,8,.,7,",",F,a,l,s,e,",",1,9,1,3,3,7,3,6,0,0,0,",",0,0,",F,a,l,s,e“
我目前正在使用原始文件对象写入文件,但我更愿意使用csvwrite,因为这正是它应该用于的。
发布于 2010-11-01 13:55:42
看看这个例子,也许它可以帮助您:
import datetime
with open('file.csv','w') as outputfile:
wrtr = csv.writer(outputfile, delimiter=',', quotechar='"')
a = (datetime.datetime.now().strftime('%Y-%m-%d'),0,6058.7,False,1913736200,0,False)
wrtr.writerow(a) # pass an iterable here
# outputfile.close() you don't have to call close() because you use withfile.csv
2010-11-01,0,6058.7,False,1913736200,0,False希望这能帮到你
发布于 2010-11-01 13:52:17
试一试wrtr.writerow([a,b,c,d,e,f,g])。
writerow()参数必须是值列表,而不是文本行。csv.writer的思想是,它将根据CSV规则格式化行值。
您的结果是由于writerow()将您的rowstr字符串解释为一个字符列表。
https://stackoverflow.com/questions/4069418
复制相似问题