Pandas で CSV ファイルやテキストファイルを読み込む

Last update: 2017-10-02

このページでは、CSV ファイルやテキストファイル (タブ区切りファイル, TSV ファイル) を読み込んで Pandas のデータフレームに変換する方法について説明します。

Pandas のファイルの読み込み関数

CSV ファイルのロード: read_csv()
Pandas には、CSV ファイルをロードする関数として、read_csv() メソッドが用意されています。

テキストファイルのロード: read_table()
テキストファイルなど、一般的な可変長のテキストファイルを読み込む関数として、read_table() メソッドが用意されています。

read_csv() メソッドの書式

read_table() メソッドの書式

read_csv()read_table() の違いは、区切り文字がカンマ (,)になっているか、タブ (\t) になっているかです。

主要な引数

read_csv()read_csv() 共通で利用可能な引数のうち、主要なものを紹介します。

filepath_or_buffer 読み込み元のファイルのパスや URL を指定。
sep 区切り文字。 (デフォルト: ‘,’ (read.csv) / ‘\t’ (read.table) )
delimiter sep の代わりに delimiter 引数でも区切り文字を指定可能。 (デフォルト: None)
header ヘッダ行の行数を整数で指定。 (デフォルト: ‘infer’)
names ヘッダ行をリストで指定。 (デフォルト: None)
index_col 行のインデックスに用いる列番号。 (デフォルト: None)
dtype 各行のデータタイプ。例: {‘a’: np.float64, ‘b’: np.int32}  (デフォルト: None)
skiprows 先頭から読み込みをスキップする行数。 (デフォルト: None)
skipfooter 末尾から読み込みをスキップする行数。 (デフォルト: None)
nrows 読み込む行数。 (デフォルト: None)
quotechar ダブルクォーテーションなどでクオートされている場合のクオート文字。 (デフォルト: ‘”‘)
escapechar エスケープされている場合のエスケープ文字。 (デフォルト: None)
comment コメント行の行頭文字を指定。指定した文字で始まる行は無視されます。 (デフォルト: None)
encoding 文字コード。’utf-8′, ‘shift_jis’, ‘euc_jp’ などを指定。参考: Python の文字コードの一覧 (デフォルト: None)

CSV ファイル / テキストファイル の読み込み例 (ローカルファイル)

事前に用意したファイルを読み込むには、Pythonファイルと同じフォルダにファイルを配置し、ファイル名を直接指定します。

データが手元にない場合は、以下からサンプルデータをダウンロード可能です。

サンプルデータ (sample_dataset.csv)
sample_dataset_csv

サンプルデータ (sample_dataset.txt)
sample_dataset_txt

コードの例

コードの例 (日本語を含むファイルを読み込む例)

日本語や韓国語、中国語などのマルチバイト文字を含むファイルを読み込む場合は、引数に encoding="<文字コード>" を指定することで正しく文字化けしない状態で読み込むことができます。Python で使える文字コードの一覧は 7.2.3. Standard Encodings にあります。


CSV ファイル / テキストファイルの読み込み例 (URL を指定)

インターネット上に配置されたファイルを読み込むことも可能です。本例では、当サイトにアップロード済みのCSV ファイルやテキストファイルを読み込みます。

参考:
pandas.read_table — pandas 0.18.1 documentation
pandas.read_csv — pandas 0.18.1 documentation

See also