我有一个包含信息的CSV文件,并希望用新值替换特定位置的信息。
例如,如果我的CSV文件如下所示:
example1,example2,0
example3,example4,0
exampple5,example6,0
请注意,每个row
都标有例如:
test = row[0]
test1 = row[1]
test2 = row[2]
如果我想更换
test[0]
有了新的价值,我该怎么做呢?
最简单的方法是不使用任何额外的包来使用内置的csv来读取矩阵中的整个文件并替换所需的元素。
以下代码可以做到这一点:
import csv
with open('test.csv', 'r') as in_file, open('test_out.csv', 'wb') as out_file:
data = [row for row in csv.reader(in_file)]
data[0][0] = 'new value'
writer = csv.writer(out_file)
writer.writerows(data)
有一些方法可以做到这一点,但我个人非常喜欢大熊猫。使用pandas,您可以使用df = pd.read_csv('path_to_file.csv')
读取csv文件。根据需要进行更改,如果您想要第1行第1列,则使用df.loc[0,0] = new_val
。然后当你完成保存到同一个文件df.to_csv('path_to_file.csv')
。