Извлеките конкретный файл из zip-блоба, хранящегося в лазурном контейнере с python, используя блокнот Jupyter - PullRequest
0 голосов
/ 29 марта 2019

Я загрузил zip-файл в свой аккаунт Azure в виде большого двоичного объекта в контейнере Azure. Zip-файл содержит файлы .csv, .ascii и многие другие форматы. Мне нужно прочитать конкретный файл, скажем, данные ASCII файла, содержащиеся в Zip-файле. Я использую Python для этого случая.

Как прочитать данные конкретного файла из этого zip-файла, не загружая его на локальный компьютер? Я хотел бы обрабатывать этот процесс только в памяти.

Я также пытаюсь использовать ноутбук Jypyter от Azure для функциональности 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) 

1 Ответ

0 голосов
/ 01 апреля 2019

Вы можете использовать приведенный ниже код для чтения файла внутри .zip файла без извлечения в python

import zipfile
archive = zipfile.ZipFile('images.zip', 'r')
imgdata = archive.read('img_01.png')

Для получения подробной информации, вы можете обратиться к документации ZipFile здесь

Кроме того, вы можете сделать что-то вроде этого

- - кодирование: utf-8 - -

"" "Создано в понедельник, 1 апреля 11:14:56 2019

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

Вот вывод для того же

enter image description here

Надеждаэто помогает.

...