-4

私がやっていることは、次のようなデータを含むファイルがあることです:

ben     | 2 | 40
germany | 6 | 60

出力として必要なのは::

ben     | 2 | 40
germany | 6 | 60

field 1 =   8
field 2 = 100

Pythonで先に進むための解決策を教えてください。

4

2 に答える 2

1

これは私にとって宿題の匂いがするので、完全な解決策ではなく、いくつかの指針を提供することに固執しようと思います.

Python のopen()関数を使用してファイルを開くことができます。結果のオブジェクトは、 のようにループで繰り返すことができますfor line in myfile:。ファイルの処理が完了したらmyfile.close()、 を呼び出す必要があります。「追加」モードでファイルを再度開いて、最後に回答を書き込むことができます。

各行は文字列になり、呼び出しline.split('|')て行をチャンクにすることができます。複数の割り当てを使用するのが好きです: name, col1, col2 = line.split('|'). int()数値を合計できるように、数値を文字列形式から整数形式に変換するために、おそらく を使用する必要があります。

それはおそらくかなり信頼できるスタートだと思いますよね?

于 2012-10-09T18:29:18.353 に答える
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]))
于 2012-10-09T18:27:58.447 に答える