我正在做的是我有一个包含一些数据的文件,如下所示:
ben | 2 | 40
germany | 6 | 60
我需要的输出是::
ben | 2 | 40
germany | 6 | 60
field 1 = 8
field 2 = 100
请建议我一些解决方案以在 Python 中继续前进。
这对我来说有家庭作业的味道,所以我将尝试坚持提供一些指示,而不是一个彻底的解决方案。
您可以使用 Python 的open()
函数打开文件。生成的对象可以在循环中迭代,例如for line in myfile:
. 完成文件后,您应该调用myfile.close()
,您可以在“附加”模式下重新打开它以在最后写下答案。
每行都是一个字符串,您可以调用line.split('|')
将行分成块。我喜欢使用多重赋值:name, col1, col2 = line.split('|')
. 您可能需要使用int()
将数字从字符串格式强制转换为整数格式,以便您可以将它们相加。
我认为这可能是一个非常可靠的开始,对吧?
可能有更优雅的方式来做到这一点......
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]))