Visualizzazione post con etichetta programmazione. Mostra tutti i post
Visualizzazione post con etichetta programmazione. Mostra tutti i post

07 marzo 2025

Come convertire un file .CSV in un file .PARQUET utilizzando Python

 


Oggi andiamo a vedere come convertire un file .CSV in un file .PARQUET utilizzando Python, ma prima andiamo a vedere cos'è e a cosa serve un file PARQUET


FILE PARQUET CHE ROBA È? 

Sono venuto a "contatto" per la prima volta con un file PARQUET  lo scorso mese per motivi di lavoro, quindi nel momento in cui ho ricevuto la richiesta di convertire un file .CSV in un file .PARQUET la prima cosa che ho fatto è stata quella di documentarmi su cosa sia un file PARQUET. 

Questo è quello che ho trovato su internet: 

"Un file Apache Parquet è un formato di data storage open source utilizzato per i database colonnari nelle query analitiche. Se hai piccoli dataset ma milioni di righe da cercare, potrebbe essere meglio utilizzare un formato colonnare per ottenere performance migliori. I database colonnari memorizzano i dati raggruppando le colonne anziché il database standard basato su righe che raggruppa per righe. Un file Parquet è uno dei diversi formati di storage colonnare."


"Oltre alle performance delle query basate sul modo in cui i file Parquet memorizzano i dati, l'altro vantaggio principale è l'efficienza in termini di costi. I file Apache Parquet sono dotati di compressione e decompressione altamente efficienti, quindi non occupano tanto spazio quanto un file di database standard. Con meno spazio di storage, un'azienda può risparmiare migliaia di dollari in costi di storage.


Se volete altre info su questo formato visitate questo sito web: Apache Parquet .


CONVERTIRE UN FILE .CSV IN UN FILE .PARQUET CON PYTHON

Quindi ricevuta la richiesta per  sviluppare un flusso che convertisse un file .CSV in .PARQUET per poi inviarlo sul server, la prima cosa che ho fatto è stato capire come fare la conversione. 

In mio aiuto è arrivato il mitico Python, quindi ho sviluppato un piccolo programma per effettuare la conversione. Questo è il codice che ho utilizzato: 

import pandas as pd
import os

# Percorsi di input e output
INPUT_FOLDER = "Inserisci il path dove trova il file .CSV"
OUTPUT_FOLDER = "Inserisci il path dove salvare il file. PARQUET"

# Assicura che la cartella di output esista
os.makedirs(OUTPUT_FOLDER, exist_ok=True)

# Scansiona tutti i file CSV nella cartella di input
for file_name in os.listdir(INPUT_FOLDER):
    if file_name.endswith(".csv"):
        csv_path = os.path.join(INPUT_FOLDER, file_name)
        parquet_path = os.path.join(OUTPUT_FOLDER, file_name.replace(".csv", ".parquet"))

        try:
            print(f"🔄 Convertendo: {csv_path}{parquet_path}")
            df = pd.read_csv(csv_path)  # Legge il file CSV
            df.to_parquet(parquet_path, engine="pyarrow", index=False)  
            print(f"✅ Conversione completata: {parquet_path}")
        except Exception as e:
            print(f"❌ Errore nella conversione di {csv_path}: {e}")

print("Tutti i file CSV sono stati convertiti con successo!")


Questo semplice programma va a prendere tutti i file .CSV che trova nella cartella che hai definito come INPUT_FOLDER e lo converte e salva come .PARQUET nella cartella che hai definito su OUTPUT_FOLDER.


CONCLUSIONI

Secondo me questa è una soluzione molto veloce e semplice per fare quello chi mi è stato richiesto. Se hai domande, dubbi o se vuoi suggerire miglioramenti al codice sfrutta i commenti sotto questo post. 

Ciao 
Mr Tozzo 

La foto di copertina è stata presa qui: Programmazione&C

15 marzo 2024

Guida pratica: Come creare un file batch per cambiare le impostazioni di rete su Windows

 

Mr Tozzo


Creare un file batch per cambiare le impostazioni di rete su Windows è un modo efficiente per automatizzare il processo di configurazione della rete. Ecco una guida dettagliata su come farlo:


  • Identifica le impostazioni di rete da modificare: Prima di tutto, individua le impostazioni di rete che desideri modificare. Questo potrebbe includere l'assegnazione di un indirizzo IP statico, il cambiamento del server DNS o la modifica delle impostazioni del gateway predefinito.

  • Apri il Blocco note: Avvia il Blocco note di Windows. Puoi farlo cercando "Blocco note" nel menu Start o premendo Win + R, digitando "notepad" e premendo Invio.

  • Scrivi lo script di cambio impostazioni di rete: Nel Blocco note, crea uno script che eseguirà le modifiche di rete desiderate. 

Ad esempio, il seguente script imposta un indirizzo IP statico e un server DNS:

@echo off
netsh interface ipv4 set address "NomeConnessione" static 192.168.1.100 255.255.255.0 192.168.1.1
netsh interface ipv4 set dns "NomeConnessione" static 8.8.8.8 primary


Assicurati di sostituire "NomeConnessione" con il nome della tua connessione di rete. Puoi trovare il nome esatto eseguendo il comando netsh interface ipv4 show interfaces nel Prompt dei comandi.


  • Salva lo script come file batch: Dopo aver scritto lo script, salvalo come file batch. Seleziona "Salva con nome" dal menu File e assegna un nome significativo al file, come "cambia_impostazioni_rete.bat". Assicurati di selezionare "Tutti i file" nel menu a discesa "Salva come tipo".

  • Esegui il file batch: Ora puoi eseguire il file batch facendo doppio clic su di esso. Lo script cambierà automaticamente le impostazioni di rete secondo le istruzioni fornite nello script.

  • Verifica le impostazioni di rete: Dopo aver eseguito lo script, verifica che le impostazioni di rete siano state cambiate correttamente controllando le impostazioni di rete nel Pannello di controllo o usando il comando ipconfig nel Prompt dei comandi.

Creare un file batch per cambiare le impostazioni di rete su Windows è un modo semplice e pratico per automatizzare il processo di configurazione della rete, risparmiando tempo e semplificando il processo di gestione della connettività di rete.


Ciao
Mr Tozzo



La foto di copertina è stata presa qui: Programmazione&C


29 dicembre 2023

[PROGRAMMAZIONE&C]: Come creare un file batch per eseguire il backup sui nostri computer

 


Conosci i file batch? Sono quei file, che hanno come estensione .BAT, che ti permettono di eseguire dei comandi (che solitamente vengono eseguiti dalla linea di comando di Windows) in maniera automatica. 

Ok, i puristi della programmazione diranno: "ERESIA!!! Questa non è programmazione!!" Si, non è la programmazione come la intendono i programmatori incalliti ma può essere visto come l'analogo dello shell  script per UNIX. 

Vabbè tralasciando le polemiche sterili andiamo a vedere cosa possiamo fare con questi tipi di file. Gli utilizzi sono svariati, in questo primo post vi farò vedere come creare un file batch che eseguirà il backup dei vostri dati. 


FILE BATCH PER IL BACKUP

@echo off


set "source_folder= INSERISCI PERCORSO DA SALVARE NEL BACKUP"

set "destination_folder= INSERISCI PERCORSO DOVE SALVARE IL BACKUP"

set "timestamp=%date:~-4%%date:~3,2%%date:~0,2%_%time:~0,2%%time:~3,2%%time:~6,2%"


set "backup_folder=%destination_folder%\backup_%timestamp%"


echo Effettuando il backup della cartella %source_folder%...


xcopy "%source_folder%" "%backup_folder%" /E /I /H /Y


echo Backup completato. La cartella di backup si trova in: %backup_folder%


Questa parte di codice (set "timestamp=%date:~-4%%date:~3,2%%date:~0,2%_%time:~0,2%%time:~3,2%%time:~6,2%") ti permetterà di creare un timestamp del backup, ovvero aggiungerà la data subito dopo il nome del backup. 


Rudimentale? SI

Semplice? SI

Funzionale? SI


Se hai dubbi, domande o suggerimenti sfrutta i commenti sotto questo post.


Ciao e Buon Anno a tutti voi! 

Mr Tozzo



La foto di copertina è stata presa qui: Programmazione&C