Je voudrais lire plusieurs fichiers csv d'un répertoire dans pandas et les concaténer en un grand DataFrame. Je n'ai pas pu le comprendre cependant. Voici ce que j'ai jusqu'à présent:
import glob
import pandas as pd
# get data file names
path =r'C:\DRO\DCL_rawdata_files'
filenames = glob.glob(path + "/*.csv")
dfs = []
for filename in filenames:
dfs.append(pd.read_csv(filename))
# Concatenate all data into one DataFrame
big_frame = pd.concat(dfs, ignore_index=True)
Je suppose que j'ai besoin d'aide dans la boucle for ???
big_frame = pd.concat(dfs, ignore_index=True)
, de toute façon une fois que vous avez une liste de dataframes vous devrez parcourir la liste et concat à?big_frame
dfs
maintenant, donc quelque chose comme ça for df in dfs: big_frame.concat(df, ignore_index=True)
devrait fonctionner, vous pouvez également essayer append
au lieu de concat
aussi.
concat
devrait gérer une liste de DataFrames très bien comme vous l'avez fait. Je pense que c'est une très bonne approche.
dfs
liste, ne voulez-vous pas remplacer la lignedata = pd.read_csv(filename)
pardfs.append(pd.read_csv(filename)
. Vous auriez alors besoin de parcourir la liste etconcat
, je ne pense pasconcat
, fonctionnera sur une liste dedf
s.