PythonでCSVファイルを読み込み、書き込みする方法

Python

本記事ではPythonでCSVファイルを読み込み、書き込みする方法を紹介します。
PythonでCSVファイルを読み込み、書き込みするには標準ライブラリを使用します。

CSVモジュールのインポート

CSVモジュールを使用するために、追加でライブラリをインストールする必要はありません。
下記のimportを実行するだけで使用可能になります。

import csv

CSVファイルを読み込み

今回は下記のファイルを読み込んでみましょう。

column1,column2,column3
aaa,bbbb,cccccc
111111,22,333

以下がCSVファイルを読み込むためのコードです。

with open('sample.csv') as f: # ①ファイルオープン
    print(f.read()) # ②ファイル読み込み
CSVファイル読み込み
  • ファイルオープン

    with open(ファイル名) as ファイル識別子:でファイルをオープンすることができます。
    withを使用することで、withのスコープが終了すると自動的にファイルがクローズされます。
    ファイル名でオープンするファイルを指定します。
    ファイル識別子を指定し、これを用いてファイルの読み込みを行います。

  • ファイル読み込み

    f.read()でファイルの内容を読み込みます。

上記を実行すると以下の通り、ファイルの内容を読み込むことができていることが確認できます。

各フィールドの値を取り出す方法

CSVデータはカンマ区切りになっております。各フィールドの値を取り出すにはreaderを使用します。

with open('sample.csv') as f: # ①ファイルオープン
    reader = csv.reader(f) # ②readerの使用
    for row in reader: # ③行の反復処理
        print(row)
CSVファイル読み込み(reader)
  • ファイルオープン

    先程と同様です。

  • readerの使用

    readerを使用し、ファイル内の行を反復処理するためのイテレータを作成します。

  • 行の反復処理

    for文を使用して一行ずつファイル内の行を処理してゆきます。

上記を実行すると以下の通り、カンマ区切りの内容を取り出してリスト化できていることが確認できます。

CSVファイルを書き込み

続いて、書き込みの例です。

with open('sample2.csv', 'w', newline='') as f: # ①ファイルオープン
    writer = csv.writer(f) # ②ライターの作成

    # ③行の書き込み
    writer.writerow(["column1", "column2", "column3"])
    writer.writerow(['aaa', 'bb', 'cccc'])
    writer.writerow([1, 22, 333])
CSVファイル書き込み
  • ファイルオープン

    基本的には先程と同様ですが、Windows環境ではnewline=''を指定しましょう。
    もし指定しなかった場合、正しく書き込みが行われなくなる可能性があります。(行と行の間に改行ができる等)

  • ライターの作成

    ファイルにデータを書き込むためwriterを作成します。

  • 行の書き込み

    writer.writerowでデータを書き込みます。リスト形式で書き込みます。

上記のコードを実行した後、sample2.csvを開くと下記のとおりファイルが作成されていることを確認できます。

↓Python入門にオススメです。(アフィリエイトリンクです。)

楽天ブックス
¥2,640 (2025/03/17 19:40時点 | 楽天市場調べ)
\楽天ポイント4倍セール!/
楽天市場

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