Python:当文件达到特定大小时,DictWriter会覆盖行

时间:2016-06-29 09:12:21

标签: python python-3.x csv dictionary

使用DictWriter在循环内的csv末尾添加行时遇到了一个奇怪的问题。 当文件达到12288字节时,不再添加行,而是替换行。 为了检查这个,我进行了一个简单的测试:

import pandas as pd
import csv
test=pd.DataFrame(columns=('key1','key2','key3','key4','key5'))
test.to_csv("testwrite.csv",index=False)

for i in range(500): 
    headers={}
    data={}
    words={'key1':'col1','key2':'col2','key3':'col3','key4':'col4','key5':'col5'}

    for k,v in words.items():
        headers[k]='keyval'+str(i)
        data[k]='colval'+str(i)

    with open("testwrite.csv", 'r+',newline='\n') as f:
        header=next(csv.reader(f))
        dw=csv.DictWriter(f, header)
        dw.writerow(data)
        f.close()

有没有人遇到类似的问题或有解决方案?

0 个答案:

没有答案