将数据从存储桶导入datalab

时间:2018-02-25 20:54:14

标签: pandas google-cloud-storage google-cloud-datalab

我真的很失望我花了多少时间试图找出如何将数据从谷歌存储导入到jupyter中的datalab项目中。我刚刚使用了floydhub和colabratory,这些更加直接。为什么colabratory和datalab有不同的GCS API?它没有意义。我愿意为使用GC付费,但我认为这些服务使用起来非常无缝。

我在存储桶的子文件夹中有tsv文件,我想通过迭代它们将它们导入到pandas数据帧中。目前尚不清楚如何在文档中执行此操作,这是一项重大的疏忽,因为它是一项基本的通用操作。

2 个答案:

答案 0 :(得分:2)

本笔记本介绍了如何将GCS对象读入python变量:https://github.com/googledatalab/notebooks/blob/master/tutorials/Storage/Storage%20APIs.ipynb

具体来说,它显示了此API的使用:http://googledatalab.github.io/pydatalab/google.datalab.storage.html#google.datalab.storage.Object.read_stream

然而,datalab api没有直接读入pandas数据帧的方法。这必须手动完成。

答案 1 :(得分:0)

如何执行此操作的示例:

import google.datalab.storage as st
import pandas as pd
import io

myBucket = st.Bucket('your_bucket_name')
myObject = myBucket.object('your_object_name.csv)

%%gcs read --object $myObject.uri --variable data
df = pd.read_csv (io.BytesIO(data))