PythonのCSV入門:表データを読み書きする

入門 | 12分 で読める | 2026.07.12

公式ドキュメント

今回やること

CSVは、表データをテキストで保存する形式です。

CSVを扱えると、名簿、点数表、売上表のようなデータをPythonで処理できます。

今回は、標準ライブラリの csv を使って読み書きします。

CSVを書き込む

import csv

with open("scores.csv", "w", encoding="utf-8", newline="") as file:
    writer = csv.writer(file)
    writer.writerow(["name", "score"])
    writer.writerow(["Ada", 90])
    writer.writerow(["Taro", 75])

writerow() は、1行分のデータを書き込みます。

CSVを読み込む

import csv

with open("scores.csv", "r", encoding="utf-8") as file:
    reader = csv.reader(file)

    for row in reader:
        print(row)

読み込んだ1行はリストとして扱えます。

DictReaderを使う

import csv

with open("scores.csv", "r", encoding="utf-8") as file:
    reader = csv.DictReader(file)

    for row in reader:
        print(row["name"], row["score"])

見出し行があるCSVでは、DictReader が読みやすいです。

よくあるエラー

エラー原因修正
空行が入るnewline="" がない書き込み時に指定する
KeyError見出し名が違うCSVの1行目を確認
文字化け文字コードが違うutf-8utf-8-sig を試す

練習

  1. 名前と点数のCSVを作る
  2. CSVを読み込んで表示する
  3. DictReader で名前だけ表示する
  4. 点数が80以上の人だけ表示する

次のステップ

標準ライブラリを使う考え方は Pythonのimport で整理します。

参考リソース

← 一覧に戻る
PR
PR
PR
PR