使用Python读取和编辑文本文件中的单行

使用Python读取和编辑文本文件中的单行,python,Python,我花了很长时间在这里寻找解决方案,但作为Python新手,我陷入了困境。我认为我的问题很容易解决,但任何帮助都会很好 如果我有一个包含以下内容的文本文件: Name1, 12, 32 Name2, 49, 43 Name3, 43, 13 Name4, 43, 53 我知道我想把名字2的第二个数字从43改为10。如何在Python中显示Name2数据,编辑它,然后将其放回文本文件 另外,让Python告诉您文本文件Name2中的哪一行在上面(例如,它在第2行)也很重要 请-最简单的解决方案!!

我花了很长时间在这里寻找解决方案,但作为Python新手,我陷入了困境。我认为我的问题很容易解决,但任何帮助都会很好

如果我有一个包含以下内容的文本文件:

Name1, 12, 32
Name2, 49, 43
Name3, 43, 13
Name4, 43, 53
我知道我想把名字2的第二个数字从43改为10。如何在Python中显示Name2数据,编辑它,然后将其放回文本文件

另外,让Python告诉您文本文件Name2中的哪一行在上面(例如,它在第2行)也很重要


请-最简单的解决方案!!!多谢各位

要在出现
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])