Pandas DataFrame で圧縮したデータファイルを読み込む
概要
圧縮されたファイルを Pandas DataFrame で読み込むための手順を紹介する。
毎回解凍してから読み込みをしていたのを、圧縮したまま読み込めたので、忘備録として残す。
今回は gzip 圧縮した前提で記載します。
内容
すごくシンプルだったので、まずコードを載せます。
import pandas as pd gz_file_path = 'file.tsv.gz' df = pd.read_table(gz_file_path, compression='gzip') df.head()
gzip 圧縮したファイルのパスを gz_file_path
に格納しています。
その後、 pd.read_table
で読み込みをしています。
その際に compression
オプションで圧縮フォーマットを指定するだけで、
読み込んでくれます。
自分の手元では、 header に column 名が載っているデータを読み込ませたところ、 df.head()
で DataFrame の先頭の5件を表示させたときに header 行の内容が表示されていました。
もし、 header 行が無いデータの場合は、 names
オプションにカラム名を指定すればよい。
扱える圧縮のファイル形式
扱えるフォーマットは、
- gzip
- bzip2
- zip
- xz
がある。
compression
オプションで圧縮フォーマットを指定しない場合、
ファイルの拡張子から圧縮フォーマットを推定してくれるみたいだが、
明示的に記載している方がよいと思われる。