Google Datalab 从云存储中读取

Google Datalab read from cloud storage

我知道这个问题已经被问过很多次了,但是所有的答案都不符合我的要求。 我想从数据实验室检索存储到云存储中的 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

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

是的,这是可能的。假设你想把它保存到一个文件中,你可以使用 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

参考文献: