しゃちの備忘録

プログラミングを中心とした技術関連の備忘録です(今のところ)

Kaggleなどでcsvファイル以外の圧縮ファイルなどをcsvで読み出す方法

状況

Kaggleでは多くの場合、Dataのインプットとして様々な形式のデータが与えられます。

csvであることは多いのですが、 この問題のように、DataSourceがzipであたえらることもあります。

www.kaggle.com

csvの場合、

import pandas as pd
train = pd.read_csv(f'/kaggle/input/folder_name/train.csv')

のようにpandas.read_csvを使うことで、csvは読み込めるのですが、zipなどの場合どうすればいいのか…と悩んだのと、Kaggle以外でも使えそうだったので、その備忘録。

やるべきこと

csvの時と同じようにpandas.read_csvをすれば良い

import pandas as pd
train = pd.read_csv(f'/kaggle/input/folder_name/train.zip')

試しに読み出してみた結果。

f:id:teru0rc4:20200101154641p:plain

解説

公式リファレンスのcompressionの通りでした。 デフォルトでは拡張子を読み取っていい感じに読み取ってくれるぽいです。

ただ場合によっては、sep(csvがなにで分割されているか)の指定や、header(1行目を読み出すかどうか)の指定は必要そうです。

pandas.pydata.org