【问题标题】:Parsing and adding content of a file in Python在 Python 中解析和添加文件的内容
【发布时间】:2012-10-09 18:22:06
【问题描述】:

我正在做的是我有一个包含一些数据的文件,如下所示:

ben     | 2 | 40
germany | 6 | 60

我需要的输出是::

ben     | 2 | 40
germany | 6 | 60

field 1 =   8
field 2 = 100

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

【问题讨论】:

标签: python parsing sum


【解决方案1】:

这对我来说有家庭作业的味道,所以我将尝试坚持提供一些指导而不是直接的解决方案。

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

每一行都是一个字符串,您可以调用line.split('|') 将该行分成块。我喜欢使用多重赋值:name, col1, col2 = line.split('|')。您可能需要使用int() 将数字从字符串格式强制转换为整数格式,以便您可以将它们相加。

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

【讨论】:

  • 我已经完成了您在上面的建议,只是我需要如何到达该字段,然后我使用 sum() 来获取我的输出。但现在我有了答案。所以会照顾它并知道我的错误。
【解决方案2】:

可能有更优雅的方式来做到这一点......

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-04
    • 2012-08-02
    • 2013-02-23
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    相关资源
    最近更新 更多