使用pandas编辑CSV单元格

时间:2018-03-30 12:01:28

标签: python pandas

如何使用pandas编辑CSV单元格值。

我正在尝试这样

obj.set_value(rowindex, 'C', val)

我希望row = rowindex和column = C中的旧值,即.. df[rowindex][C]应该由val重新复制,我的原始csv应该更新。

我知道pandas提供了inplace = True,但是set_value不支持。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

以下是原始文件student.csv的内容:

StudentID,Name,Username,Password,Moderator
0001,Foo Bar,test,abc123,N
0002,Baz Qux,bob,bcd986,Y

加载CSV

df = pd.read_csv('students.csv')

更改单元格并保存回原始文件

df.set_value(0,'Name','changed')
df.to_csv('students.csv', index=False)

结果

StudentID,Name,Username,Password,Moderator
1,changed,test,abc123,N
2,Baz Qux,bob,bcd986,Y

答案 1 :(得分:0)

更改数据框不会更改csv文件,因为它们不是同一个东西。你有几个选择。

  1. 将csv读入2D列表更新所需的单元格,并将2D列表写回csv文件。 Help

  2. 更新数据框,然后使用df.to_csv()

  3. 尝试这样的事情:

    df..set_value(rowindex, 'C', val)
    df.to_csv(file_name, encoding='utf-8', index=False)