更新 csv 列值

Posted

技术标签:

【中文标题】更新 csv 列值【英文标题】:update csv column value 【发布时间】:2018-06-06 12:12:02 【问题描述】:

我有一个名为 samplecsv 的 CSV 文件,它有 4 个字段 A、B、C、D,如下所示:

[a1,b1,c1,2]

[a2,b2,c2,2]

[a3,b3,c3,2]

我需要将所有行的字段 D 从“2”更新为“9”。我该怎么做。 我尝试了如下代码,但没有成功。

import csv
f = open('C:/samplecsv.csv', 'w')
writer.writerow('D':'9')
f.close()

【问题讨论】:

欢迎来到 Stack Overflow,您的问题不清楚,请阅读How to Ask a good question 并了解如何使用本站taking the tour @Vickel,好的!我稍后再试。非常感谢! 【参考方案1】:

你可以用 pandas 代替 csv

import pandas as pd
df = pd.read_csv("C:/samplecsv.csv")
df["D"].replace(2,9, inplace=True)
df.to_csv("C:/samplecsv.csv",index=False)

【讨论】:

当我写回 CSV 文件时,它会添加一个序列值为 0,1,2,3,4.... 的列;所以 CSV 文件将是 [0,a1,b1 ,c1,9],[1,a2,b2,c2,9],[2,a3,b3,c3,9]。写入 CSV 文件时如何避免序列值?第三季~ 我从 Stack Overflow 上的另一个问题中得到了答案。***.com/questions/16923281/…

以上是关于更新 csv 列值的主要内容,如果未能解决你的问题,请参考以下文章

如何在数据工厂中获取 CSV 的第一行和第一列值?

MySQL - 根据更新其他表列值触发更新列值

按列值分组的列值更新mysql排名

通过 postgresql 中的其他列值更新列值

修改/更新 pyspark 列值

MySQL - 根据联接表列值更新列值