首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python: csvwriter的问题

Python: csvwriter的问题
EN

Stack Overflow用户
提问于 2010-11-01 13:46:23
回答 2查看 2.2K关注 0票数 2

我试图将数据(主要是日期、布尔值和浮动数据类型)写入CSV文件格式。下面是我的代码片段:

代码语言:javascript
复制
# 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,因为这正是它应该用于的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-01 13:55:42

看看这个例子,也许它可以帮助您:

代码语言:javascript
复制
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 with

file.csv

代码语言:javascript
复制
2010-11-01,0,6058.7,False,1913736200,0,False

希望这能帮到你

票数 3
EN

Stack Overflow用户

发布于 2010-11-01 13:52:17

试一试wrtr.writerow([a,b,c,d,e,f,g])

writerow()参数必须是值列表,而不是文本行。csv.writer的思想是,它将根据CSV规则格式化行值。

您的结果是由于writerow()将您的rowstr字符串解释为一个字符列表。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4069418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档