Pythonでテキストファイルから数値を合計する方法は?次のような番号のテキストドキュメントがあるとします。
320
5203
5246
そして、Pythonでそのファイルを開き、それらの数値を合計して結果を取得する必要があります:10769。これを行うにはどうすればよいですか?
Pythonでテキストファイルから数値を合計する方法は?次のような番号のテキストドキュメントがあるとします。
320
5203
5246
そして、Pythonでそのファイルを開き、それらの数値を合計して結果を取得する必要があります:10769。これを行うにはどうすればよいですか?
ファイルが大きすぎない場合は、ファイルを配列に読み込み、リスト内包表記を使用して行を整数のリストに変換し、その合計を計算できます。
sum([int(s.strip()) for s in open('foo.txt').readlines()])
ただし、これによりファイル全体がメモリに読み込まれます。ファイルが大きい場合は、命令的な方法で合計を累積する方が、おそらくメモリをあまり消費しません。
result = 0
for s in open('foo.txt'): result += int(s.strip())
または、ジェネレータ式として、リストをメモリに保存する必要がないようにします
sum(int(s.strip()) for s in open('foo.txt'))