Python: Pandas: Pobranie pliku csv spakowanego gzip i import do data frame

4-Mar-2019

Python ma całe mnóstwo modułów, które pozwalają na wykonywanie prawie wszystkich operacji (no bez przesady, ale sporo można zrobić)!

Mamy moduł:

  • requests – do wykonywania operacji na stronach webowych
  • gzip lub zip – do kompresji plików (lub ogólniej danych)
  • io – do wykonywania operacji wejścia wyjścia
  • pandas – do przetwarzania danych

Jeśli dobrze się postarać można ze sobą połączyć te moduły i… pobrać plik, rozkompresować go i zaimportować do obiektu data frame!

Tutaj pobierzemy jeden z plików publikowanych na stronie EuroStat:

https://ec.europa.eu/eurostat/estat-navtree-portlet-prod/BulkDownloadListing?sort=1&dir=data

import pandas as pd
import requests, gzip, io

url = 'https://ec.europa.eu/eurostat/estat-navtree-portlet-prod/BulkDownloadListing?sort=1&file=data%2Faact_ali01.tsv.gz'
 
downloaded_file = requests.get(url)
unzipped_content = gzip.open(io.BytesIO(downloaded_file.content))
df = pd.read_csv(unzipped_content, delimiter='\t')

df.head()

w zależności od upodobań polecenie można skrócić:

import pandas as pd

import requests, gzip, io
url = 'https://ec.europa.eu/eurostat/estat-navtree-portlet-prod/BulkDownloadListing?sort=1&file=data%2Faact_ali01.tsv.gz'
 
with gzip.open(io.BytesIO(requests.get(url).content)) as unzipped_content:
 df = pd.read_csv(unzipped_content, delimiter='\t')
df.head()

 

 

 

 

Dodaj komentarz:

Autor: Rafał Kraik