41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
|
#!/usr/bin/env python
|
||
|
# pylint: skip-file
|
||
|
|
||
|
import os.path
|
||
|
import pandas as pd
|
||
|
from sodapy import Socrata
|
||
|
|
||
|
|
||
|
def _connect():
|
||
|
client = Socrata("www.dati.lombardia.it", None)
|
||
|
return client
|
||
|
|
||
|
|
||
|
def get_stazioni(offline=False):
|
||
|
if offline:
|
||
|
stazioni = pd.read_csv("stazioni.csv")
|
||
|
stazioni_df = pd.DataFrame.from_records(stazioni)
|
||
|
stazioni_df.drop(columns=["Storico", "Idstazione", "Utm_Nord", "UTM_Est", "lat", "lng", "location", "Limiti amministrativi 2014 delle province di Regione Lombardia", "Limiti amministrativi 2015 delle province di Regione Lombardia"], inplace=True)
|
||
|
stazioni_df.columns = [x.lower() for x in stazioni_df.columns]
|
||
|
else:
|
||
|
client = _connect()
|
||
|
stazioni = client.get("ib47-atvt")
|
||
|
stazioni_df = pd.DataFrame.from_records(stazioni)
|
||
|
stazioni_df.drop(columns=[":@computed_region_6hky_swhk", ":@computed_region_ttgh_9sm5", "utm_est", "utm_nord", "storico", "idstazione", "lat", "lng", "location"], inplace=True)
|
||
|
stazioni_df["datastart"] = pd.to_datetime(stazioni_df["datastart"])
|
||
|
stazioni_df["datastop"] = pd.to_datetime(stazioni_df["datastop"])
|
||
|
return stazioni_df
|
||
|
|
||
|
|
||
|
def print_stazioni():
|
||
|
pd.set_option('display.max_rows', None)
|
||
|
if os.path.exists("stazioni.csv"):
|
||
|
stazioni = get_stazioni(offline=True)
|
||
|
else:
|
||
|
stazioni = get_stazioni()
|
||
|
print(stazioni)
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
print_stazioni()
|