Распаковка gzip-файла, содержащего csv - PullRequest
0 голосов
/ 12 октября 2018

Я только что достиг конечной точки и могу открыть сжатый GZIP-файл.Я попытался сохранить его и извлечь csv изнутри, но продолжаю получать ошибки при кодировании, пытаюсь ли я привести из его текущего состояния в двоичном виде к utf-8 / utf-16.

Для записи в сохраненный gzip я пишу в двоичном режиме:

r = requests.get(url, auth=auth, stream=True)
with gzip.open('file.gz', 'wb') as f:
    f.write(r.content)

Где r.content выглядит так:

b'PK\x03\x04\x14\x00\x08\x08\x08\x00f\x8dKM\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00A\x00\x00\x00RANKTRACKING_report_created_at_11_10_18_17_41-20181011-174141.csv\xec\xbdk\x8f\xe3V\x96\xae\xf9}\x80\xf9\x0f\ ... '

Чтобы извлечь файл на моем компьютеревручную я сначала должен извлечь в zip, а затем я могу извлечь это, чтобы получить CSV.Я пробовал то же самое там, но также столкнулся с ошибками кодирования.

Ищите способ вытащить этот CSV, чтобы я мог печатать строки в консоли Python.

1 Ответ

0 голосов
/ 13 октября 2018

Это не файл gzip.Это почтовый файл.Затем вы берете zip-файл, полученный с URL-адреса, и снова пытаетесь сжать его как файл gzip.Итак, теперь у вас есть ZIP-файл внутри GZIP-файла.Вы отошли на один шаг дальше от извлечения содержимого CSV, а не на один шаг ближе.

Вам нужно использовать zipfile, чтобы извлечь содержимое загруженного zip-файла.

...