Python CSV文件将内容写入文件

时间:2016-08-09 21:22:42

标签: python csv

我正在尝试编写并将值附加到CSV文件。每当我执行脚本时,Header值都会打印多次。当我打开excel表时,我看到了

enter image description here

而不是

enter image description here

我的代码:

with open('names.csv', 'a') as csvfile:
    fieldnames = ['Header1', 'Header2', 'Header3']
    writer= csv.DictWriter(csvfile, fieldnames=fieldnames)
    writer.writeheader()
    writer.writerow({'Header1':'%s'%(a),'Header2':'%s'%(b),'Header3':'%s'% (c)})

1 个答案:

答案 0 :(得分:0)

如果您多次执行相同的代码,则最终会有多次调用writer.writeheader()。这是在结果文件中重复标题的原因。

不是多次调用代码(并反复打开同一个文件,每次都附加),而是可以在可迭代中传递要写入的内容(例如list dict } S):

define write_to_file(rows):
    with open('names.csv', 'w') as csvfile:
        fieldnames = ['Header1', 'Header2', 'Header3']
        writer= csv.DictWriter(csvfile, fieldnames=fieldnames)
        writer.writeheader()

        for row in rows:
            writer.writerow({'Header1': row['a'],
                             'Header2': row['b'],
                             'Header3': row['a']})

也没有理由使用字符串格式来定义dict