Python pandas:从csv读取和写入数据帧中的单元格

时间:2017-09-07 02:08:22

标签: python pandas csv

我在使用pandas数据帧时遇到了一些麻烦,而且它变得有些令人沮丧。

我正在尝试在我正在处理的一些python脚本中引用/编辑一个非常简单的.csv文件。我的目标是根据需要读取和编辑.csv文件,以跟踪一些基本值。

.csv(称为id_store)是从python字典创建的,对于所有意图和目的,它都是这样的:

import pandas as pd

csv_dest = 'id_store.csv'
idDict = {'first_id': [1,None], 'last_id': [10,None]}

pd.DataFrame(data=idDict, index=['old','new']).to_csv(csv_dest)

当我看到使用excel创建的.csv时,到目前为止一切都那么好,但是当我在不同的会话中读取它时,事情变得奇怪:

test = pd.read_csv('id_store.csv')

test
      Unnamed: 0       first_id     recent_id
0        old           1            10
1        new           NaN          NaN

我尝试过多种方式阅读,但我似乎无法正确访问它。如果可能,我想从(old,recent_id)单元格中读取,编辑(new,recent_id)单元格,然后将编辑后的数据框保存为“id_store.csv”的新实例。我该怎么做呢?

1 个答案:

答案 0 :(得分:2)

试试这个?

df=pd.DataFrame(data=idDict, index=['old','new'])
df.index.name = 'LOL'
df.to_csv(csv_dest)
pd.read_csv('id_store.csv',index_col ='LOL')
Out[26]: 
     first_id  last_id
LOL
old       1.0     10.0
new       NaN      NaN

懒惰的解决方案......

df=pd.read_csv('id_store.csv',index_col ='Unnamed: 0')

df
Out[43]: 
     first_id  last_id
old       1.0     10.0
new       NaN      NaN