我真的很失望我花了多少时间试图找出如何将数据从谷歌存储导入jupyter中的datalab项目。我刚刚使用了floydhub和colabratory,这些更加直接。为什么colabratory和datalab有不同的GCS API?它没有意义。我愿意为使用GC付费,但我认为这些服务使用起来非常无缝。
我在存储桶的子文件夹中有tsv文件,我想通过迭代它们将它们导入到pandas数据帧中。目前尚不清楚如何在文档中执行此操作,这是一项重大的疏忽,因为它是一项基本的通用操作。
这个笔记本涵盖了如何将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数据帧的方法。这必须手动完成。
如何执行此操作的示例:
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))