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)
這是相同的輸出
添加回答
舉報