概要
圧縮されたファイルを 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 オプションで圧縮フォーマットを指定しない場合、
ファイルの拡張子から圧縮フォーマットを推定してくれるみたいだが、
明示的に記載している方がよいと思われる。