我正在尝试使用熊猫将某些值附加到CSV文件中。问题是,当我读取CSV并追加时,以前在CSV中的行将更改为NaN。
我阅读了文件并打印了每一步,以了解发生了什么,但我不知道。
import pandas as pd
try:
erro = pd.read_csv('C:\\TESTEPANDAS\\errot.csv', index_col=0,header=0)
except:
erro = pd.DataFrame({'id':[],'cnj':[],'erro':[]})
print(erro)
erro.to_csv('C:\\TESTEPANDAS\\errot.csv',sep=';',index=False)
for i in range(5):
erro = erro.append({'id':'id{}'.format(i),'cnj':'cnj{}'.format(i),'erro':'errotxt{}'.format(i)},ignore_index=True)
print(erro)
erro.to_csv('C:\\TESTEPANDAS\\errot.csv',sep=';',index=False)
当我尝试一次时,结果如下:
Empty DataFrame
Columns: [id, cnj, erro]
Index: []
id cnj erro
0 id0 cnj0 errotxt0
1 id1 cnj1 errotxt1
2 id2 cnj2 errotxt2
3 id3 cnj3 errotxt3
4 id4 cnj4 errotxt4
如果我再试一次:
Empty DataFrame
Columns: []
Index: [id0;cnj0;errotxt0, id1;cnj1;errotxt1, id2;cnj2;errotxt2, id3;cnj3;errotxt3, id4;cnj4;errotxt4]
cnj erro id
0 NaN NaN NaN
1 NaN NaN NaN
2 NaN NaN NaN
3 NaN NaN NaN
4 NaN NaN NaN
5 cnj0 errotxt0 id0
6 cnj1 errotxt1 id1
7 cnj2 errotxt2 id2
8 cnj3 errotxt3 id3
9 cnj4 errotxt4 id4
答案 0 :(得分:0)
用于写入和读取csv的参数不匹配。查看第二个输出的索引-读csv失败,因为没有给出分隔符:
Index: [id0;cnj0;errotxt0, id1;cnj1;errotxt1...
阅读命令应为:
erro = pd.read_csv('C:\\TESTEPANDAS\\errot.csv', sep=";")
然后,您将获得与上一次迭代中保存的对象相同的对象。