Я пытаюсь разархивировать файл csv и передать его в pandas, чтобы я мог работать с файлом.
Код, который я пробовал до сих пор:
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'))
После последней строки, хотя python может получить файл, я получаю сообщение «не существует» в конце ошибки.
Может кто подскажет, что я делаю неправильно?
quotechar
?.tar.gz
файл, но он, вероятно, работает только с.gz
файлом.Я думаю, вам нужен
open
ZipFile, который возвращает файловый объект, а неread
:источник
pd.read_csv(z.open('crime_incidents_2013_CSV.csv'), parse_dates=['REPORTDATETIME', 'LASTMODIFIEDDATE'])
pd.read_csv(z.open(z.infolist()[0].filename))
Кажется, вам даже не нужно больше указывать сжатие. Следующий фрагмент загружает данные из filename.zip в df.
(Конечно, вам нужно будет указать разделитель, заголовок и т. Д., Если они отличаются от значений по умолчанию.)
источник
Для файлов " zip " вы можете использовать,
import zipfile
и ваш код будет работать просто с этими строками:И результат будет:
источник
https://www.kaggle.com/jboysen/quick-gz-pandas-tutorial
Пожалуйста, пройдите по этой ссылке.
источник