在Python中解析和添加文件的内容

时间:2012-10-09 18:22:06

标签: python parsing sum

我正在做的是我有一个包含以下数据的文件:

ben     | 2 | 40
germany | 6 | 60

我需要的输出是::

ben     | 2 | 40
germany | 6 | 60

field 1 =   8
field 2 = 100

请建议我在Python中继续前进的一些解决方案。

2 个答案:

答案 0 :(得分:1)

这给我带来了家庭作业的香气,所以我会尽力提供一些指示而不是直接的解决方案。

您可以使用Python的open()函数打开文件。生成的对象可以循环迭代,如for line in myfile:。完成文件后,您应该调用myfile.close(),然后可以在“追加”模式下重新打开它,以便在最后写下答案。

每一行都是一个字符串,您可以调用line.split('|')将行放入块中。我喜欢使用多个作业:name, col1, col2 = line.split('|')。您可能需要使用int()来强制从字符串格式到整数格式的数字,以便您可以将它们添加起来。

我认为这可能是一个非常可靠的开始,对吧?

答案 1 :(得分:0)

这可能是一种更优雅的方式......

results = [0, 0]
with open("\path\to\file.txt") as f:
    for line in f:
        values = line.split("|")
        results[0] += int(values[1])
        results[1] += int(values[2])

print("field 1 = " + str(results[0]), "field 2 = " + str(results[1]))