Python

Python3入門 CSV ファイルを読込む方法

投稿者 : OSCA

ここでは、Python3 で CSV ファイルを読込む方法について解説します。

読込方法の選択

Python3 で CSV ファイルを読込むには、次のように2つの方法が挙げられます。

  1. 標準の csv モジュールを利用する方法
  2. 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)
['sato', 'taro', '25']
['yamada', 'jiro', '30']
['takahashi', 'ai', '22']

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)
           0     1   2
0       sato  taro  25
1     yamada  jiro  30
2  takahashi    ai  22

読み込んだデータから必要なデータのみを指定する場合は、次のように行・列の番号を引数に与えてあげます。

print("[0,0] : ", data[0][0])
print("[1,0] : ", data[1][0])
[0,0] :  sato
[1,0] :  taro

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。
個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca