簡體   English   中英

在循環中使用字典在CSV中寫行(Python 3)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM