Загрузите zip-файл локально в tempfile, извлеките файлы в tempfile и перечислите файлы - PullRequest
1 голос
/ 17 апреля 2019

Я пытаюсь вернуться в python, и я не уверен, с чего начать, но я хочу загрузить zip-файл локально для временного хранения, распаковать файлы и затем перечислить файлы (что составляет 99,99% времениCSV-файлы).Я хочу перечислить файлы так, чтобы я мог далее обрабатывать один из файлов на основе логики с тем преимуществом, что временный каталог удаляется автоматически.

Я могу сделать большую часть вышеизложенного в R довольно лаконично, но мои требованиядолжны сопоставить эту идею с python, и из моих начальных поисков в Google решения, которые я нахожу, не кажутся простыми и не выполняют именно то, что я ищу.

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 17 апреля 2019

Мы начинаем с загрузки файла с помощью запросов

import requests

results = requests.get('<url_to_zip>')
with open('/tmp/zip_folder.zip', 'wb') as f:
    f.write(results.content)

Затем извлекаем zip-файл в / tmp, используя zipfile

import zipfile
file = zipfile.ZipFile('/tmp/zip_folder.zip')
file.extractall(path='/tmp')

Затем мы перечисляем файлы.

files = os.listdir('/tmp/zip_folder')
for file in files:
    if 'csv' in file:
        print(file)
...