我花了很多时间在这里寻找解决方案,但作为Python新手,我遇到了困难。我认为我的问题很容易解决,但任何帮助都会很棒。
如果我的文本文件中包含以下内容:
Name1, 12, 32
Name2, 49, 43
Name3, 43, 13
Name4, 43, 53
我知道我想将第二个Name2从43替换为10.我如何在Python中显示Name2数据,编辑它然后将其放回文本文件中?
此外,无论如何让Python告诉你文本文件Name2中的哪一行(例如它在第2行)?
请 - 最简单的解决方案!谢谢 。
答案 0 :(得分:0)
要打印显示Name1
的位置:
import csv
with open("path/to/file") as infile:
for i, (name, *data) in enumerate(csv.reader(infile), 1):
if name != "Name1": continue
print("'Name1' found on line", i)
要替换与之关联的数据:
with open("path/to/file") as infile, open("path/to/output", 'w') fout:
outfile = csv.writer(fout)
for i, (name, first, second) in enumerate(csv.reader(infile), 1):
if name == "Name1":
second -= 33
outfile.writerow([name, first, second])