Pythonミニ制作:CSVの名簿を検索する

入門 | 13分 で読める | 2026.07.13

公式ドキュメント

今回やること

CSVで作った名簿から、指定した名前の人を探します。

検索処理は、一覧データを1件ずつ見て条件に合うものを探す練習です。

完成コード

csv_member_search.py を作ります。

import csv

members = [
    ["name", "grade", "email"],
    ["Ada", "2", "ada@example.com"],
    ["Taro", "1", "taro@example.com"],
    ["Mina", "3", "mina@example.com"],
]

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

target_name = "Taro"
found_member = None

with open("members.csv", "r", encoding="utf-8") as file:
    reader = csv.DictReader(file)
    for row in reader:
        if row["name"] == target_name:
            found_member = row
            break

if found_member is None:
    print("見つかりませんでした")
else:
    print(f"名前: {found_member['name']}")
    print(f"学年: {found_member['grade']}")
    print(f"メール: {found_member['email']}")

動作確認

python csv_member_search.py

Taro の学年とメールが表示されれば成功です。

コードの考え方

  • target_name が探したい名前です
  • 見つかるまでは found_member = None にします
  • 見つかったら辞書を保存して break で止めます
  • 最後に見つかったかどうかを判定します

よくあるエラー

エラー原因修正
KeyErrorCSVの見出しが違うname, grade, email を確認
見つからない大文字小文字が違う検索文字を確認
文字化け文字コードが違うencoding="utf-8" を使う

練習

  1. target_name を別の名前に変える
  2. 見つからない名前で試す
  3. 学年で検索する処理に変える

次のステップ

日付つきの保存に進む場合は Pythonミニ制作:日付つき日記アプリ が次です。

参考リソース

← 一覧に戻る
PR
PR
PR
PR