ここでは、Python3 で CSV ファイルを読込む方法について解説します。
読込方法の選択¶
Python3 で CSV ファイルを読込むには、次のように2つの方法が挙げられます。
- 標準の csv モジュールを利用する方法
- Pandas ライブラリを利用する方法
なお、本稿でのおすすめの方法は Pandas ライブラリを利用する方法ですが、ここではそれぞれについて解説したいと思います。
サンプルCSVファイル¶
ここでは、CSVファイルのサンプルとして、次のようなデータが書かれた data.csv というファイルを利用することとします。
sato,taro,25
yamada,jiro,30
takahashi,ai,22
1. csv モジュールを利用してCSVファイルを読込む¶
Python には標準で csv というモジュールが含まれています。 名前の通り、CSV 文字列を操作するためのオブジェクトが含まれています。
次の例は、csv モジュールを利用して CSV ファイルを読込む、もっとも単純なサンプルコードです。 csv.reader() でファイルを読込み reader を生成し、あとは for 文で1行ずつファイルを読み込んでいます。 下の例では row はリスト(配列)になります。
import csv
with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
2. Pandas ライブラリを利用してCSVファイルを読込む¶
Pandas は、データ構造の操作や解析を目的としたオープンソースのライブラリです。 この Pandas ライブラリを利用すると、CSVファイルもとても簡単に読込むことができます。
Pandas は、ただ単にデータを読込むためだけのライブラリではありません。 読み込んだデータの操作や解析までもを行えるライブラリですので、そういう面でも Pandas の利用を推奨します。
次の例は Pandas で CSV ファイルを読込む単純なサンプルコードです。 print() で読み込んだデータを一気に表示しています。 一気に表示すると、データの周りに行と列の番号も一緒に表示します。
import pandas as pd
data = pd.read_csv('data.csv', header=None) #ヘッダ行が無いことを引数のheaderで指定する
print(data)
読み込んだデータから必要なデータのみを指定する場合は、次のように行・列の番号を引数に与えてあげます。
print("[0,0] : ", data[0][0])
print("[1,0] : ", data[1][0])