我知道这个问题已经问过很多次了,但是所有答案都不符合我的要求。 我想从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
如何使用干净的存储库? 谢谢
答案 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。
参考文献: