python: CSVファイルの読み書き

プログラミング
スポンサーリンク




こんにちは、Eviです。

今回は、pythonでCSVファイルの読み書きの方法について学習したので、備忘録として残したいと思います。

スポンサーリンク

pythonでCSVファイルを操るためのライブラリ

・csv

pythonでCSVファイルを操る際には、基本的にこのライブラリを使用します。

最初から入っているのでインストールは不要です。

CSVファイルに書き込む

ソースコード

# 必要なライブラリをインポート
import csv

# CSVファイルを書き込みモードで開く。
# 存在しない場合は、勝手に生成される。
# モード"w" ... 書き込み(write)。存在するCSVファイルを指定した場合、ファイルの内容は初期化される。
# モード"a" ... 追加(add)。存在するファイルを指定しても、ファイルの内容は初期化されない。
with open("test.csv", "w") as csv_file:

    # CSVファイルのヘッダーを生成する。ヘッダーの内容はリスト型で指定する。
    field = ["name", "age"]

    # csvファイルの書き込み用オブジェクトを生成する。
    writer = csv.DictWriter(csv_file, fieldnames=field)

    # ヘッダーをファイルに書き込む。
    writer.writeheader()

    # ファイルに行を追加する。
    # 列名 : 値 のように、辞書型で指定する。
    writer.writerow({"name": "mike", "count": 20})

CSVファイルを読み込む

# 必要なライブラリをインポート
import csv

# csvファイルを読み込みモードで開く。
# モード"r" ... 読み込み(read)。

with open("test.csv", "r") as csv_file:
    # csvファイルの読み込み用オブジェクトを生成する。
    reader = csv.DictReader(csv_file)

    # 読み込み用オブジェクトから1行ずつデータを取得する。
    # 行データは辞書型で取得される。
    for row in reader:
        print(row["name"], row["count"])

詳細の説明

DictWriter, DictWriter … CSVファイルを辞書型のように操作できる。

CSVファイルのヘッダー名とデータを明示的に指定することができるので、こちらの方が便利です。

参考文献

csv --- CSV ファイルの読み書き — Python 3.9.4 ドキュメント

コメント

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