Articolo originale: How to combine multiple CSV files with 8 lines of code
Perché ne hai bisogno?
Fare copia&incolla va bene se non hai troppi file con cui lavorare.
Ma immagina di avere più di cento file da concatenare... Vuoi davvero farlo manualmente? Farlo ripetutamente è tediante ed è facile commettere errori.

Se tutti i file hanno la stessa struttura (stesse intestazioni e numero di colonne), puoi usare questo piccolo script in Python per fare il lavoro.
Step 1: Importa i pacchetti e imposta la cartella di lavoro
Cambia "/mydir"
con la cartella che vuoi che sia la tua cartella di lavoro.
import os
import glob
import pandas as pd
os.chdir("/mydir")
Step 2: Usa glob per verificare il pattern 'csv'
Verifica il pattern ('csv') e salva la lista dei nomi dei file nella variabile all_filenames
. Puoi andare a questo link per imparare di più sulla verifica delle espressioni regolari.
extension = 'csv'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]
Step 3: Combina tutti i file nella lista ed esporta come CSV
Usa pandas per concatenare tutti i file nella lista ed esportare come CSV. Il file di output si chiama "combined_csv.csv" e viene generato nella tua cartella di lavoro.
#combine all files in the list
combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames ])
#export to csv
combined_csv.to_csv( "combined_csv.csv", index=False, encoding='utf-8-sig')
Aggiungiamo encoding = 'utf-8-sig'
per evitare problemi nel caso di esportazione in altre lingue con caratteri non inglesi.
E... fatto!
Questo articolo è stato ispirato da un mio problema quotidiano, e la struttura del codice viene da una discussione su stackoverflow. Lo script completo per questo articolo è documentato su GitHub.
Grazie per aver letto. Per favore, provaci, divertiti, e fammi sapere cosa ne pensi!