Estoy tratando de descomprimir un archivo csv y pasarlo a pandas para poder trabajar en el archivo.
El código que he probado hasta ahora es:
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'))
Después de la última línea, aunque Python puede obtener el archivo, aparece un "no existe" al final del error.
¿Alguien puede decirme qué estoy haciendo incorrectamente?
quotechar
?.tar.gz
archivo, pero probablemente solo funcione con un.gz
archivo.Creo que desea
open
el ZipFile, que devuelve un objeto similar a un archivo, en lugar deread
:fuente
pd.read_csv(z.open('crime_incidents_2013_CSV.csv'), parse_dates=['REPORTDATETIME', 'LASTMODIFIEDDATE'])
pd.read_csv(z.open(z.infolist()[0].filename))
Parece que ya ni siquiera tienes que especificar la compresión. El siguiente fragmento carga los datos de filename.zip en df.
(Por supuesto, deberá especificar separador, encabezado, etc. si son diferentes de los predeterminados).
fuente
Para archivos " zip ", puede usar
import zipfile
y su código funcionará simplemente con estas líneas:Y el resultado será:
fuente
https://www.kaggle.com/jboysen/quick-gz-pandas-tutorial
Siga este enlace.
fuente