因此,我一直在尝试使用 Python 中的 csv 模块将数据添加到现有的行和列中,但仅限于每行的特定列。因此,例如,假设我现有的 csv 文件具有以下内容:
id, name, city, age
1, Ed,, 34
2, Pat,, 23
所以基本上每个人的城市都不见了,所以我想用那个人的城市更新每一行。但是, writerow 方法似乎只替换了 csv 文件中的现有数据。将打开的文件更改为附加模式只会将数据添加到新行。有没有办法跳过现有数据,只将城市添加到每一行?
谢谢
这是一篇关于另一位开发人员尝试做类似事情的帖子 - 更新 csv 文件中的特定记录 - http://www.dreamincode.net/forums/topic/196479-editing-a-csv-file/
他帖子中的代码片段演示了他如何在 csv 文件中搜索特定的“位置”(单元格)(如 excel 中的特定单元格)并使用新信息更新该单元格。在您的情况下,特定用户的城市。
所以模仿他的示例代码,你可以达到你想要的结果。
但是,如果您看到自己一直在这样做——“更新 csv 文件中的单元格”,那么最好使用数据库来存储信息。通过从初始 csv 导入初始数据集以及通过对您选择的数据库的更新调用完成的任何进一步更新。使用提供 orm 的库来与您的数据库进行交互。:-)
即使是 sqlite3 也会比尝试更新 csv 文件中的特定单元格更好。