はじめに
本記事では、Pandasライブラリの関数read_csv()
で読み込める圧縮ファイルについて記載します。read_csv()
という名前から拡張子「.csv」しか読み込みできないと思われがちですが、csvが入っている圧縮ファイルも読み込むことができます。
読み込める圧縮ファイルについて
拡張子が「.gz」、「.bz2」、「.zip」、「.xz」、「.zst」、「.tar」 、「.tar.gz」、「.tar.xz」、「.tar.bz2」の圧縮ファイルを読み込むことができます。(Pandas APIリファレンス参照)
read_csv()の記載方法
「.csv」と記載方法は同じで、拡張子の部分を変えるだけになります。
zipファイルの場合
import pandas as pd
#拡張子を変える
df = pd.read_csv("圧縮ファイル名.zip")
※圧縮ファイル名.zipの中には、csvファイルが1つ入っています
注意点
圧縮ファイル内に入れることのできるファイルは1つになります。複数入れてしまうと「Multiple files found in ZIP file. Only one file per ZIP」といったエラーが発生します。
終わりに
今回はread_csv()
で読み込める圧縮ファイルについて記載しました。仕事で使っているデータが最近、csvからbz形式で配布されるようになったため、今回の手法を扱いました。分析に使うファイルが圧縮して送られてくる場合や、csvのままだと容量を圧迫する場合に使えそうです。