カテゴリ: Python 更新日: 2025/10/07

PythonでCSVファイルを扱う方法!csvモジュールの基本と活用例

PythonでCSVファイルを扱う方法!csvモジュールの基本と活用例
PythonでCSVファイルを扱う方法!csvモジュールの基本と活用例

先生と生徒の会話形式で理解しよう

生徒

「Pythonで表みたいなデータを扱うとき、どうすればいいですか?」

先生

「そういう場合はCSVファイルを使うのがおすすめです。そしてPythonにはcsvモジュールが用意されているので簡単に扱えますよ。」

生徒

「CSVって何ですか?」

先生

「CSVは『Comma Separated Values』の略で、カンマで区切られたデータです。表計算ソフトでも開けます。今日はその読み書き方法を学びましょう。」

-

1. CSVファイルとは?

1. CSVファイルとは?
1. CSVファイルとは?

CSVファイルは、テキスト形式で表データを保存するファイルです。1行が1レコード(1行分のデータ)で、カンマで項目が区切られます。ExcelやGoogleスプレッドシートでも開けるため、データの受け渡しに便利です。

例えば、こんな内容がCSVです。


名前,年齢,国
太郎,25,日本
花子,30,アメリカ

2. csvモジュールの基本

2. csvモジュールの基本
2. csvモジュールの基本

Pythonのcsvモジュールを使うと、CSVファイルの読み書きが簡単にできます。まずは読み込みの基本を見てみましょう。


import csv

with open("sample.csv", "r", encoding="utf-8") as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

['名前', '年齢', '国']
['太郎', '25', '日本']
['花子', '30', 'アメリカ']

readerオブジェクトは、各行をリストとして返します。

3. CSVファイルへの書き込み

3. CSVファイルへの書き込み
3. CSVファイルへの書き込み

次にCSVファイルへ書き込みます。csv.writer()を使えば簡単に行を追加できます。


import csv

data = [
    ["名前", "年齢", "国"],
    ["太郎", 25, "日本"],
    ["花子", 30, "アメリカ"]
]

with open("output.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.writer(f)
    writer.writerows(data)

newline=""を指定すると、余分な空行が入るのを防げます。

4. 辞書形式での読み書き

4. 辞書形式での読み書き
4. 辞書形式での読み書き

DictReaderDictWriterを使うと、CSVを辞書形式で扱えます。列名をキーとしてアクセスできるため便利です。


import csv

with open("sample.csv", "r", encoding="utf-8") as f:
    reader = csv.DictReader(f)
    for row in reader:
        print(row["名前"], row["年齢"])

太郎 25
花子 30

書き込みもDictWriterを使えば列名を指定して行えます。

-

5. 実用的な活用例

5. 実用的な活用例
5. 実用的な活用例

CSVファイルはデータ分析や機械学習の前処理にも使われます。例えば、条件に合う行だけ抽出して別ファイルに保存することができます。


import csv

with open("sample.csv", "r", encoding="utf-8") as f, \
     open("filtered.csv", "w", newline="", encoding="utf-8") as out:
    reader = csv.DictReader(f)
    writer = csv.DictWriter(out, fieldnames=reader.fieldnames)
    writer.writeheader()
    for row in reader:
        if int(row["年齢"]) >= 30:
            writer.writerow(row)

この例では、年齢が30以上の人だけを新しいCSVに書き出しています。

6. プログラミング未経験者へのアドバイス

6. プログラミング未経験者へのアドバイス
6. プログラミング未経験者へのアドバイス

CSVはとても汎用的なデータ形式です。まずは自分で小さなCSVファイルを作り、読み書きのコードを試すのがおすすめです。csv.reader()csv.writer()DictReaderDictWriterを覚えると、ほとんどのCSV操作ができるようになります。

ファイルを開くときはwith open()を使って閉じ忘れを防ぎましょう。また、文字化け防止のためにencoding="utf-8"をつける習慣をつけると安心です。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:

関連記事なし

カテゴリの一覧へ
新着記事
PHPでセッションを使ってフォーム入力を保持する方法を解説!初心者向けステップバイステップ
Pythonで文字列をリストに変換する方法!split()とjoin()の使い方
Pythonの変数とは?定義方法とデータ型を初心者向けに解説
PHPでメールフォームを作る方法を徹底解説!初心者向けにmail関数とPHPMailerの使い方も紹介
人気記事
No.1
PHP&Python記事人気No1
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
PHP&Python記事人気No2
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.3
PHP&Python記事人気No3
Pythonのリストを辞書に変換する方法(dict() / zip())
No.4
PHP&Python記事人気No4
初心者向けにPHP でファイルを開く・読み込む・書き込む方法(fopen, fwrite, fread)を解説する記事
-