我正在尝试编写并将值附加到CSV文件。每当我执行脚本时,Header值都会打印多次。当我打开excel表时,我看到了
而不是
我的代码:
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)})
答案 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
。