import gzip
import io
web_response = requests.get("example.com/filename.csv.gz", headers=csv_headers,
timeout=30, stream=True)
csv_gz_file = web_response.content # Content in bytes from requests.get
# See comments below why this is used.
f = io.BytesIO(csv_gz_file)
with gzip.GzipFile(fileobj=f) as fh:
# Passing a binary file to csv.reader works in PY2
reader = csv.reader(fh)
for row in reader:
print(row)
Durch das Speichern der gz Daten im Speicher dekomprimiert ist, extrahiert sie die gzip
Modul verwenden und anschließend die Klartextdaten in einer anderen Speicherbehälter lesen und Öffnen Sie schließlich diesen Container mit Ihrem Leser.
Ich bin mir nicht ganz sicher, wie csv.reader
erwartet ein Datei-Handle oder list
von Daten, aber ich würde annehmen, dass dies funktionieren würde. Wenn nicht einfach tun:
reader = csv.reader(csv_content.splitlines())
Und das sollte den Trick tun.
Verwenden Sie das 'gzip'-Paket, um die Datei zu extrahieren/dekomprimieren. –