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

使用Python更新csv文件中的现有列和行,python,csv,Python,Csv,因此,我一直在尝试使用Python中的csv模块将数据添加到现有的行和列,但只添加每行的特定列。例如,假设我现有的csv文件具有以下内容: id, name, city, age 1, Ed,, 34 2, Pat,, 23 基本上每个人的城市都不见了,所以我想用每个人的城市来更新每一行。但是,writerow方法似乎只替换csv文件中的现有数据。将打开的文件更改为追加模式只会将数据添加到新行。有没有办法跳过现有数据,只将城市添加到每一行 谢谢这是一篇关于另一个开发人员尝试做类似事情的帖子-更

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

id, name, city, age
1, Ed,, 34
2, Pat,, 23
基本上每个人的城市都不见了,所以我想用每个人的城市来更新每一行。但是,writerow方法似乎只替换csv文件中的现有数据。将打开的文件更改为追加模式只会将数据添加到新行。有没有办法跳过现有数据,只将城市添加到每一行


谢谢

这是一篇关于另一个开发人员尝试做类似事情的帖子-更新csv文件中的特定记录-

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

因此,通过模拟他的示例代码,您可以获得所需的结果

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


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

谢谢您的回答。因此,从代码的外观来看,它实际上不是更新每一行,而是替换它或在它上面写。但也许这是唯一的办法。看起来很简单,但我猜csv模块没有这个功能?据我所知,在几个项目中使用csv模块,没有使用python csv模块“更新”csv行中的单元格的概念。