Modulo Utils
Il modulo Utils raccoglie una serie di funzioni di utilità per la gestione e la conversione di file, la creazione di directory e l'estrazione di contenuti da archivi compressi. Queste funzioni sono fondamentali per supportare i processi di gestione dei dati censuari e geografici.
census_folder(output_data_folder, year)
Crea una cartella per i dati e geodati del censimento dell'anno selezionato.
La funzione crea una cartella specifica per il censimento relativo all'anno indicato
all'interno della directory specificata. Se la cartella esiste già, non verrà
creata nuovamente, grazie al parametro exist_ok=True
.
PARAMETER | DESCRIPTION |
---|---|
output_data_folder |
Il percorso della cartella principale in cui creare la cartella del censimento.
TYPE:
|
year |
L'anno del censimento. Il valore predefinito è il 2011.
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
Path
|
Il percorso della cartella creata o esistente.
TYPE:
|
RAISES | DESCRIPTION |
---|---|
Exception
|
In caso di problemi con la creazione della cartella. |
check_encoding(data)
Determina la codifica di un file.
Questa funzione apre il file specificato, legge i primi 100.000 byte e tenta di
determinare la codifica utilizzando la libreria chardet
. Se la codifica rilevata è 'ascii',
viene convertita in 'latin1' per evitare problemi di compatibilità con file testuali.
PARAMETER | DESCRIPTION |
---|---|
data |
Il percorso del file di cui si vuole determinare la codifica.
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
str
|
La codifica rilevata del file. Se 'ascii' viene rilevato, restituisce 'latin1'.
TYPE:
|
csv_from_excel(data, output_path, metadata=False)
Converte un file Excel (.xls) in CSV.
La funzione legge un file Excel e converte i dati presenti in un foglio
specificato in formato CSV. Se metadata=True
, converte il foglio
chiamato "Metadati", altrimenti converte il primo foglio disponibile,
escluso "Metadati" se esistente.
PARAMETER | DESCRIPTION |
---|---|
data |
Il percorso del file Excel da convertire.
TYPE:
|
output_path |
Il percorso dove salvare il file CSV generato.
TYPE:
|
metadata |
Se True, converte il foglio "Metadati", altrimenti converte il primo foglio escluso "Metadati" (default: False).
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
Path
|
Il percorso del file CSV creato.
TYPE:
|
RAISES | DESCRIPTION |
---|---|
FileNotFoundError
|
Se il file Excel specificato non viene trovato. |
XLRDError
|
Se non è possibile leggere il file Excel. |
Exception
|
Per eventuali altri errori durante la conversione. |
get_census_dictionary(census_year, region_list=[])
Genera i link per il download dei dati censuari, geodati e confini amministrativi in base all'anno del censimento fornito.
PARAMETER | DESCRIPTION |
---|---|
census_year |
L'anno del censimento per cui generare i link.
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
dict
|
Un dizionario contenente i link per il download dei dati,
TYPE:
|
dict
|
geodati e confini amministrativi. |
RAISES | DESCRIPTION |
---|---|
ValueError
|
Se l'anno del censimento non è supportato. |
unzip_data(input_data, output_folder)
Decomprime un file ZIP nella cartella di destinazione specificata.
La funzione apre un file ZIP e ne estrae tutto il contenuto nella cartella specificata. Se la cartella di destinazione non esiste, viene creata automaticamente.
PARAMETER | DESCRIPTION |
---|---|
input_data |
Il percorso del file ZIP da decomprimere.
TYPE:
|
output_folder |
Il percorso della cartella dove estrarre i file.
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
Path
|
Il percorso della cartella in cui sono stati estratti i file.
TYPE:
|
RAISES | DESCRIPTION |
---|---|
FileNotFoundError
|
Se il file ZIP non viene trovato. |
BadZipFile
|
Se il file fornito non è un file ZIP valido. |
Exception
|
Per eventuali errori generici durante la decompressione. |
census_trace(file_path, year, output_path=None)
Estrae i metadati da un file Excel e restituisce un DataFrame o salva i dati in CSV.
Questa funzione legge il foglio "Metadati" da un file Excel, estrae i dati pertinenti e restituisce un DataFrame pandas. Se viene fornito un percorso di output, i dati vengono anche salvati in un file CSV.
PARAMETER | DESCRIPTION |
---|---|
file_path |
Il percorso del file Excel da leggere.
TYPE:
|
output_path |
Il percorso in cui salvare il file CSV. Se None, la funzione restituisce il DataFrame (default: None).
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
Path
|
Il percorso del file CSV salvato, o il DataFrame pandas se output_path è None.
TYPE:
|
RAISES | DESCRIPTION |
---|---|
FileNotFoundError
|
Se il file Excel non viene trovato. |
XLRDError
|
Se si verifica un errore durante la lettura del file Excel. |
Exception
|
Per altri errori durante il processo di lettura o salvataggio. |
read_xls(file_path, census_code, output_path=None)
Legge un file Excel (.xls) e restituisce un DataFrame pandas o salva i dati in CSV.
La funzione legge i dati da un file Excel e restituisce un DataFrame pandas contenente i dati. Se viene fornito un percorso di output, i dati vengono salvati anche in un file CSV.
PARAMETER | DESCRIPTION |
---|---|
file_path |
Il percorso del file Excel da leggere.
TYPE:
|
output_path |
Il percorso in cui salvare il file CSV. Se None, la funzione restituisce il DataFrame (default: None).
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
Union[DataFrame, Path]
|
Union[pd.DataFrame, Path]: Un DataFrame pandas contenente i dati letti, o il percorso del file CSV salvato. |
RAISES | DESCRIPTION |
---|---|
FileNotFoundError
|
Se il file Excel non viene trovato. |
XLRDError
|
Se si verifica un errore durante la lettura del file Excel. |
Exception
|
Per altri errori durante il processo di lettura o salvataggio. |
read_xlsx(file_path, output_path=None)
Legge un file Excel (formato .xlsx) e lo converte in un DataFrame Pandas. Se specificato, salva i dati in formato CSV.
PARAMETER | DESCRIPTION |
---|---|
file_path |
Il percorso del file Excel da leggere.
TYPE:
|
output_path |
Il percorso in cui salvare il file CSV generato. Se non viene specificato, restituisce il DataFrame.
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
Union[DataFrame, Path]
|
Union[pd.DataFrame, Path]: Restituisce un DataFrame se |
Union[DataFrame, Path]
|
altrimenti restituisce il percorso del file CSV salvato. |
RAISES | DESCRIPTION |
---|---|
FileNotFoundError
|
Se il file Excel specificato non viene trovato. |
ValueError
|
Se il file Excel non può essere letto correttamente. |