Google Datalab从云存储中读取

时间:2018-07-25 19:44:27

标签: python-3.x google-cloud-storage google-cloud-datalab

我知道这个问题已经问过很多次了,但是所有答案都不符合我的要求。 我想从datalab检索存储到云存储中的csv文件。 为了在普通应用程序中重用代码,我不想使用datalab.storage库,而是使用正式的云存储,并且没有任何魔术。

有可能吗? 到目前为止,我做到了:

from google.cloud import storage

client = storage.Client()
bucket = client.get_bucket(BUCKET_NAME)
blob = storage.Blob(gs_path, bucket)
# here I should put something equivalent to 
# data = data_obj.read_stream() if using datalab.storage
# %gcs read --object $uri --variable data if using magic

如何使用干净的存储库? 谢谢

1 个答案:

答案 0 :(得分:3)

是的,这是可能的。假设您希望将其保存到文件中,可以使用blob.download_to_filename()

def download_blob(bucket_name, source_blob_name, destination_file_name):
    """Downloads a blob from the bucket."""
    storage_client = storage.Client()
    bucket = storage_client.get_bucket(bucket_name)
    blob = bucket.blob(source_blob_name)

    blob.download_to_filename(destination_file_name)

    print('Blob {} downloaded to {}.'.format(
        source_blob_name,
        destination_file_name))

其他选项,例如download_as_string()和download_to_file()是available as well

参考文献: