La concaténation de plusieurs fichiers csv en un seul csv avec la même tête de Python

Je suis actuellement en utilisant le code ci-dessous pour importer de 6000 fichiers csv (avec les en-têtes) et de l'exporter dans un fichier csv (avec une seule ligne d'en-tête).

#import csv files from folder
path =r'data/US/market/merged_data'
allFiles = glob.glob(path + "/*.csv")
stockstats_data = pd.DataFrame()
list_ = []

for file_ in allFiles:
    df = pd.read_csv(file_,index_col=None,)
    list_.append(df)
    stockstats_data = pd.concat(list_)
    print(file_ + " has been imported.")

Ce code fonctionne très bien, mais il est lent. Il peut prendre jusqu'à 2 jours.

M'a donné une seule ligne de script pour le Terminal de ligne de commande qui fait la même chose (mais sans les en-têtes). Ce script prend 20 secondes.

 for f in *.csv; do cat "`pwd`/$f" | tail -n +2 >> merged.csv; done 

Personne ne sait comment je peux accélérer le premier script Python? Réduire le temps vers le bas, j'ai pensé à pas de l'importer dans un DataFrame et juste de la concaténation de la CSVs, mais je ne peux pas le comprendre.

Grâce.

OriginalL'auteur mattblack | 2017-06-27