PythonでCSVファイルの各行の合計と最大値を求める方法

Java

CSVファイル内の数値を扱い、各行の合計値を計算し、最終的にその中で最大の合計値を求める方法を紹介します。ここでは、コマンドラインから指定されたテキストファイルを読み込み、合計値を標準出力に表示するPythonプログラムを作成します。

1. プログラムの要件

プログラムは、指定されたCSV形式のファイルを読み込んで、各行の合計値を計算し、最後に最大値を表示します。具体的な要件は以下の通りです。

  • 各行の3つの数値を足し算し、その合計を1行ずつ出力する。
  • 最後に、全ての合計値の中で最も大きい値を「max:」とともに表示する。

2. CSVファイルの例

以下のような形式のテキストファイルが与えられた場合。

101 592 304
907 218 785
98 348 405
710 619 148
540 364 137

このデータに基づいてプログラムを実行することで、各行の合計値と最大値を求めることができます。

3. Pythonプログラムの作成

以下は、CSVファイルの各行の合計値を計算し、最大値を表示するPythonプログラムの例です。

import sys

def calculate_sums_and_max(file_name):
    max_sum = 0
    with open(file_name, 'r') as file:
        for line in file:
            numbers = list(map(int, line.split()))
            total = sum(numbers)
            print(total)
            if total > max_sum:
                max_sum = total
    print(f'max:{max_sum}')

if __name__ == '__main__':
    if len(sys.argv) != 2:
        print('Usage: python script.py ')
    else:
        calculate_sums_and_max(sys.argv[1])

4. プログラムの実行例

上記のプログラムを実行すると、以下のように出力されます。

997
1910
851
1477
1041
max:1910

5. まとめ

このプログラムでは、指定されたCSVファイルを読み込み、各行の合計値を計算して出力し、最後にその中で最も大きい合計値を表示します。Pythonを使うことで、非常にシンプルに目的を達成することができます。

コメント

タイトルとURLをコピーしました