为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Jupyter Notebook 从存储在带有 python 的 azure 容器中

使用 Jupyter Notebook 从存储在带有 python 的 azure 容器中

陪伴而非守候 2021-12-21 17:40:19
我已将 zip 文件作为 azure 容器中的 blob 上传到我的 azure 帐户中。Zip 文件包含 .csv、.ascii 文件和许多其他格式。我需要读取特定文件,比如说包含在 zip 文件中的 ascii 文件数据。我在这种情况下使用 python。如何从该 zip 文件中读取特定文件数据而不将其下载到本地?我只想在内存中处理这个过程。我也在尝试使用 azure 提供的 jypyter notebook 来实现 ML 功能,我在这种情况下使用了 ZipFile python 包。请求您协助此事阅读文件请找到以下代码片段。blob_service=BlockBlobService(account_name=ACCOUNT_NAME,account_key=ACCOUNT_KEY)blob_list=blob_service.list_blobs(CONTAINER_NAME)allBlobs = []for blob in blob_list:    allBlobs.append(blob.name)sampleZipFile = allBlobs[0]print(sampleZipFile) 
查看完整描述

2 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

下面的代码应该可以工作。此示例使用帐户 URL 和密钥组合访问 Azure 容器。


from azure.storage.blob import BlobServiceClient

from io import BytesIO

from zipfile import ZipFile


key = r'my_key'


service = BlobServiceClient(account_url="my_account_url",

                            credential=key

                            )


container_client = service.get_container_client('container_name')


zipfilename = 'myzipfile.zip'


blob_data = container_client.download_blob(zipfilename)

blob_bytes = blob_data.content_as_bytes()

inmem = BytesIO(blob_bytes)

myzip = ZipFile(inmem)


otherfilename = 'mycontainedfile.csv'


filetoread = BytesIO(myzip.read(otherfilename))

现在您要做的就是将filetoread传递给您通常用来读取本地文件的任何方法(例如pandas.read_csv())


查看完整回答
反对 回复 2021-12-21
?
白板的微信

TA贡献1883条经验 获得超3个赞

您可以使用以下代码读取 .zip 文件中的文件,而无需在 python 中提取


import zipfile

archive = zipfile.ZipFile('images.zip', 'r')

imgdata = archive.read('img_01.png')

有关详细信息,您可以在此处参考 ZipFile 文档


或者,你可以做这样的事情


- - 编码:utf-8 - -

""" 创建于 2019 年 4 月 1 日星期一 11:14:56


@author: moverm """


import zipfile


zfile = zipfile.ZipFile('C:\\LAB\Pyt\sample.zip')

for finfo in zfile.infolist():

    ifile = zfile.open(finfo)

    line_list = ifile.readlines()

    print(line_list)

这是相同的输出

//img1.sycdn.imooc.com//61c1a12c0001970719780700.jpg

查看完整回答
反对 回复 2021-12-21
  • 2 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号