我试图将数据(主要是日期,布尔值和浮点数据类型)写入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, "",0, "",6,0,5,8,7, "",F,A,L,S,即, "",1,9,1,3,7,3,6,2,0,0, "",0, "",F,A,L,S,E
我目前正在使用原始文件对象写入文件 - 但我更喜欢使用csvwrite - 因为这是它应该用于
试试吧wrtr.writerow([a,b,c,d,e,f,g])
.
writerow()
参数必须是值列表,而不是文本行.其想法csv.writer
是它将根据CSV规则格式化行值.
您的结果是由于将writerow()
您的rowstr
字符串解释为字符列表.