2016-12-06 80 views
1

时增加了一个空列我有一个简单的程序中,我想将号码添加到列的末尾大熊猫保存

fajl = pd.read_csv('example.csv') 
print (fajl) 
fajl.at[len(fajl['Hrana']),'Hrana'] = 350 
print (fajl) 
fajl.to_csv('example.csv') 

第一次印刷是:

Hrana Izlasci 
0 1641 6500.0 
1 910  NaN 
2 2100  NaN 
3 371  NaN 
    Hrana Izlasci 
0 1641.0 6500.0 
1 910.0  NaN 
2 2100.0  NaN 
3 371.0  NaN 
4 350.0  NaN 

这是好,这是我期望它做的,但当我第二次启动它时:

Unnamed: 0 Hrana Izlasci 
0   0 1641.0 6500.0 
1   1 910.0  NaN 
2   2 2100.0  NaN 
3   3 371.0  NaN 
4   4 350.0  NaN 
    Unnamed: 0 Hrana Izlasci 
0   0.0 1641.0 6500.0 
1   1.0 910.0  NaN 
2   2.0 2100.0  NaN 
3   3.0 371.0  NaN 
4   4.0 350.0  NaN 
5   NaN 350.0  NaN 

它增加了一个新的列,我不知道为什么。我是熊猫新手,所以有人可以解释为什么会发生这种情况,我该如何解决它?

回答

1

你需要添加参数index=Falseto_csv的(在DataFrame第一列)不保存index

fajl.to_csv('example.csv', index=False) 
fajl = pd.read_csv('example.csv') 
print (fajl) 
    Hrana Izlasci 
0 164.0 6500.0 
1 910.0  NaN 
2 2100.0  NaN 
3 371.0  NaN 
4 350.0  NaN 

的第二读取CSV另一种解决方案是用于读取第一列read_csv添加参数index_colindex

fajl.to_csv('example.csv') 
fajl = pd.read_csv('example.csv', index_col=[0]) 
print (fajl) 
    Hrana Izlasci 
0 164.0 6500.0 
1 910.0  NaN 
2 2100.0  NaN 
3 371.0  NaN 
4 350.0  NaN 
+0

谢谢,我会接受,当我可以:) – kemis

+0

你在to_csv函数调用中设置index = False。但是,您链接到read_csv函数。如果这是打算,我完全不解:) – Quickbeam2k1

+0

@ Quickbeam2k1 - 谢谢你,我编辑它。 – jezrael