本記事では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()) # ②ファイル読み込み
- ①ファイルオープン
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)
- ①ファイルオープン
先程と同様です。
- ②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])
- ①ファイルオープン
基本的には先程と同様ですが、Windows環境では
newline=''
を指定しましょう。
もし指定しなかった場合、正しく書き込みが行われなくなる可能性があります。(行と行の間に改行ができる等) - ②ライターの作成
ファイルにデータを書き込むため
writer
を作成します。 - ③行の書き込み
writer.writerow
でデータを書き込みます。リスト形式で書き込みます。
上記のコードを実行した後、sample2.csvを開くと下記のとおりファイルが作成されていることを確認できます。

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