[英]Writing rows in a csv using dictionaries in a loop (python 3)
我正在通過在循環中添加每一行並使用字典來編寫csv文件。 以下是代碼:
fieldnames = ['id', 'variable1', 'variable2']
f = open('file.csv', 'w')
my_writer = csv.DictWriter(f, fieldnames)
my_writer.writeheader()
f.close()
for i in something:
something where I get data for mydict
with open('file.csv', 'a+b') as f:
header = next(csv.reader(f))
dict_writer = csv.DictWriter(f, header)
dict_writer.writerow(mydict)
我確定幾年前這段代碼對我有用,但可能我在使用python2。 現在我正在使用python 3,它顯示以下錯誤:
header = next(csv.reader(f))
StopIteration
可能是什么問題? 謝謝
我的解決方案是:
fieldnames = ['id', 'variable1', 'variable2']
f= open('file.csv', 'w', newline='')
my_writer = csv.DictWriter(f, fieldnames)
my_writer.writeheader()
for i in something:
something where I get data for mydict
writer.writerow(mydict)
f.close()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.