case-kの備忘録

備忘録です。

GCS上のファイルをDataFrameで読み込んでみた。

JupyterでGCSにあるファイルを読み込み、DataFrameとして扱う方法を紹介します。サーバにいちいちデータを落としたくない場合やディスク容量がない場合に使えるかもしれません。いつも通り完全に備忘録です。

from google.cloud import storage as gcs

bucket_name = "[bucket name]"
file_name = "[file path ]"
project_name = "[project id]"

# create gcs cliaent
client = gcs.Client(project_name)
bucket = client.get_bucket(bucket_name)
# create blob
blob = gcs.Blob(file_name, bucket)
content = blob.download_as_string()
train = pd.read_csv(BytesIO(content))
train.head()

f:id:casekblog:20190217000715p:plain

こんな感じでDataFrameとして扱えます。CLIでGCSから、サーバーにファイルを落としたいなら、このコマンドです。好みですかね。Kaggleのeloコンペメダル欲しいなあ。

#  gsutil -m cp  [copy file path] [path]
$ gsutil -m cp 'gs://kagg-bucket/elo/elo-merchant-category-recommendation/train.csv' ./
Copying gs://kagg-bucket/elo/elo-merchant-category-recommendation/train.csv...
/ [1/1 files][  8.0 MiB/  8.0 MiB] 100% Done