Pythonミニ制作:CSVの点数表から平均点を出す

入門 | 13分 で読める | 2026.07.13

公式ドキュメント

今回やること

CSVの点数表を読み込み、平均点を計算します。

CSVは表データの保存に使われるため、点数表や名簿の練習に向いています。

完成コード

csv_average_score.py を作ります。

import csv

rows = [
    ["name", "score"],
    ["Ada", "90"],
    ["Taro", "70"],
    ["Mina", "80"],
]

with open("scores.csv", "w", encoding="utf-8", newline="") as file:
    writer = csv.writer(file)
    writer.writerows(rows)

scores = []

with open("scores.csv", "r", encoding="utf-8") as file:
    reader = csv.DictReader(file)
    for row in reader:
        scores.append(int(row["score"]))

average = sum(scores) / len(scores)
print(f"平均点: {average:.1f}点")

動作確認

python csv_average_score.py

平均点: 80.0点 と表示されれば成功です。

コードの考え方

  • 先に練習用CSVを作成しています
  • csv.DictReader で見出し名から値を取り出します
  • CSVの値は文字列なので int() で数値に変換します
  • sum(scores) / len(scores) で平均を出します

よくあるエラー

エラー原因修正
KeyError見出し名が違うscore の表記を確認
ValueError数字でない点数があるCSVの値を確認
ZeroDivisionError点数が0件空のCSVを避ける

練習

  1. 点数を5人分に増やす
  2. 最高点を表示する
  3. 60点以上の人数を数える

次のステップ

CSVから特定の人を探す場合は Pythonミニ制作:CSVの名簿を検索する に進みます。

参考リソース

← 一覧に戻る
PR
PR
PR
PR