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())

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)
这是相同的输出
添加回答
举报