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()