使用Python更新csv文件中的现有列和行

时间:2012-04-15 05:21:51

标签: python csv

所以我一直在尝试使用Python中的csv模块将数据添加到现有的行和列,但只添加每行的特定列。因此,举例来说,我现有的csv文件包含以下内容:

id, name, city, age
1, Ed,, 34
2, Pat,, 23

所以基本上每个人的城市都缺失了,所以我想用这个人的城市更新每一行。但是,writerow方法似乎只替换csv文件中的现有数据。将打开文件更改为追加模式只是将数据添加到新行。有没有办法跳过现有数据,只将城市添加到每一行?

由于

1 个答案:

答案 0 :(得分:3)

以下是关于其他开发人员尝试执行类似操作的帖子 - 更新csv文件中的特定记录 - http://www.dreamincode.net/forums/topic/196479-editing-a-csv-file/

他的文章中的代码片段演示了他如何在csv文件中搜索特定的“位置”(单元格)(如excel中的特定单元格)并使用新信息更新该单元格。适合您的特定用户的城市。

因此,仿效他的示例代码,您可以实现所需的结果。

但是,如果您发现自己一直这样做 - “更新csv文件中的单元格”,最好使用数据库来存储信息。通过从初始csv导入初始数据集以及通过更新调用完成的任何进一步更新到您选择的数据库。使用提供orm与您的数据库交互的库。 : - )

即使是sqlite3也会比尝试更新csv文件中的特定单元格更好。