DevGang
Авторизоваться

Извлечение данных из zip-папки с помощью Python

Порой случается такое, что у нас есть ссылка на zip-папку, которую нужно извлечь, сохранить в каталоге, а затем загрузить и визуализировать.

Для решения этой проблемы нам необходимо 4 модуля Python:

  • requests: Этот модуль позволяет отправлять HTTP-запросы с помощью Python.
  • zipfile: Этот модуль предоставляет инструменты для создания, чтения, записи, добавления и списывания ZIP-файлов.
  • pathlib: Этот модуль позволяет нам обрабатывать пути к файлам и папкам современным способом.
  • os: Предоставляет переносимый способ использования функциональности, зависящей от операционной системы

Для примера мы будем использовать эту zip-папку.

Шаг 1: Импорт необходимых модулей Python

import requests
import zipfile
from pathlib import Path
import os

Если вы используете Google Colab, нет необходимости устанавливать пакеты вручную. Но если вы делаете это в редакторе кода, используйте pip install package-name.

Шаг 2: Установка пути и загрузка папки

В нашем zip-файле есть папки с изображениями для пиццы, стейка и суши, и каждая из них содержит изображения, соответствующие ее названию.

# setup path to a data folder
data_path = Path("data/")
image_path = data_path / "pizza_steak_sushi"
# If the image folder doesn't exist, download it and preprare it ..

if image_path.is_dir():
  print(f"{image_path} directory already exists.. skipping download")
else:
  print(f"{image_path}  does not exist, creating one...")
  image_path.mkdir(parents=True,exist_ok=True)

Давайте считаем файл и запишем его в указанный нами путь:

# Download pizza, steak and shush data
with open (data_path/ "pizza_steak_sushi.zip","wb") as f:
  request = requests.get("https://github.com/mrdbourke/pytorch-deep-learning/raw/main/data/pizza_steak_sushi.zip")
  print(f"Downloading pizza, steak, sushi data...")
  f.write(request.content)

Шаг 3: Распаковка загруженной zip-папки

# Unzip pizza, steak, sushi data
with zipfile.ZipFile(data_path/"pizza_steak_sushi.zip","r") as zip_ref:
  print("Unzipping data ...")
  zip_ref.extractall(image_path)

Zip-файл был успешно распакован, и теперь вы можете изучить данные, содержащиеся в папках.

Благодарю за прочтение и счастливого вам кодинга!

Источник:

#Python
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу