使用Python

时间:2017-05-18 18:11:39

标签: python

我花了很多时间在这里寻找解决方案,但作为Python新手,我遇到了困难。我认为我的问题很容易解决,但任何帮助都会很棒。

如果我的文本文件中包含以下内容:

Name1, 12, 32
Name2, 49, 43
Name3, 43, 13
Name4, 43, 53

我知道我想将第二个Name2从43替换为10.我如何在Python中显示Name2数据,编辑它然后将其放回文本文件中?

此外,无论如何让Python告诉你文本文件Name2中的哪一行(例如它在第2行)?

请 - 最简单的解决方案!谢谢 。

1 个答案:

答案 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])