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

2024-04-26 20:55:41 发布

您现在位置:Python中文网/ 问答频道 /正文

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

ben     | 2 | 40
germany | 6 | 60

我需要的输出是:

ben     | 2 | 40
germany | 6 | 60

field 1 =   8
field 2 = 100

请给我建议一些解决方案,以便在Python中继续前进。你知道吗


Tags: 文件数据field解决方案建议bengermany
2条回答

这对我来说就像是一个家庭作业,所以我会坚持提供一些指导,而不是一个彻底的解决方案。你知道吗

可以使用Python的open()函数打开文件。结果对象可以在循环中迭代,如for line in myfile:。处理完文件后,应该调用myfile.close(),然后可以在“append”模式下重新打开它,在末尾写入答案。你知道吗

每一行都是一个字符串,您可以调用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]))

相关问题 更多 >