Ich versuche, eine CSV-Datei zu entpacken und an Pandas zu übergeben, damit ich an der Datei arbeiten kann.
Der Code, den ich bisher ausprobiert habe, lautet:
import requests, zipfile, StringIO
r = requests.get('http://data.octo.dc.gov/feeds/crime_incidents/archive/crime_incidents_2013_CSV.zip')
z = zipfile.ZipFile(StringIO.StringIO(r.content))
crime2013 = pandas.read_csv(z.read('crime_incidents_2013_CSV.csv'))
Nach der letzten Zeile erhalte ich, obwohl Python die Datei abrufen kann, am Ende des Fehlers ein "existiert nicht".
Kann mir jemand sagen, was ich falsch mache?
quotechar
?.tar.gz
Datei, funktioniert aber wahrscheinlich nur mit einer.gz
Datei.Ich denke, Sie möchten
open
die ZipFile, die ein dateiähnliches Objekt zurückgibt, anstattread
:quelle
pd.read_csv(z.open('crime_incidents_2013_CSV.csv'), parse_dates=['REPORTDATETIME', 'LASTMODIFIEDDATE'])
pd.read_csv(z.open(z.infolist()[0].filename))
Anscheinend müssen Sie die Komprimierung nicht mehr angeben. Das folgende Snippet lädt die Daten aus filename.zip in df.
(Natürlich müssen Sie Trennzeichen, Header usw. angeben, wenn diese von den Standardeinstellungen abweichen.)
quelle
Für " zip " -Dateien können Sie verwenden
import zipfile
und Ihr Code funktioniert einfach mit diesen Zeilen:Und das Ergebnis wird sein:
quelle
https://www.kaggle.com/jboysen/quick-gz-pandas-tutorial
Bitte folgen Sie diesem Link.
quelle