美好的一天,
我尝试在csv文件中使用index更改某个列中的某个单词,但不会更改。
我尝试使用的代码:
import csv
with open('INPUT.CSV', 'r') as file1, open('OUTPUT.csv','w',newline='') as file2:
reader = csv.reader(file1, delimiter=',')
writer = csv.writer(outfile, delimiter=',')
for row in reader:
row[0].replace('word','changed word')# I want to replace in first column=row[0] 'word' with 'changed word'
writer.writerow(row)
输出文件与输入相同,没有更改。
有些人可以用这种方式帮助我吗?非常感谢提前!
答案 0 :(得分:0)
一个工作示例会更好(输出打开为file2
但作者被赋予outfile
)
但无论如何你的问题是replace
replace
返回字符串的副本(如果条件匹配,则返回替换文本)但是你丢弃了返回的值。您实际上在row[0]
解决方案:
replaced = row[0].replace('word','changed word') # I want to replace in first column=row[0] 'word' with 'changed word'
row[0] = replaced
writer.writerow(row)
答案 1 :(得分:0)
row[0].replace()
不会替换行[0]中的任何内容。来自docstring:
S.replace(old,new [,count]) - >串
返回字符串S的副本,其中包含所有子字符串 老被新的取代。如果可选参数计数是 给定,只替换第一次计数。
如果您想更改row[0]
的值,则需要row[0] = new_value
之类的内容。