2017-08-18 4 views
1

J'ai un dossier de fichiers csv et chaque fichier a une image qui ressemble à ceci. Voici des exemples de deux des dataframes:Comment fusionner plusieurs dataframes d'un dossier en une seule dataframe?

df1 & df2:

Name  Level 
Meg  1 
Ben  2 
Andy  3 
Vern  4 
Oscar 5 

Name  Level 
Hanna 1 
Ron  2 
Sal  3 

Voici le code que je l'ai jusqu'à présent qui lit dans les dataframes dans le dossier:

def match_folder(folderpath, exportfile): 
    vals = [] 
    directory = os.fsencode(folderpath) 
    os.chdir(directory) 
    for file in os.listdir(directory): 
     filename = os.fsdecode(file) 
     if filename.endswith(".csv"): 
      df1 = pd.read_csv(filename) 
      vals.append(df1) 

Non vraiment sûr de ce que je fais après ce point.

Je veux que le résultat final soit:

Name  Level 
Meg  1 
Ben  2 
Andy  3 
Vern  4 
Oscar 5 
Hanna 1 
Ron  2 
Sal  3 

Répondre

2

IIUC nous pouvons utiliser la méthode pd.concat():

import glob 

df = pd.concat([pd.read_csv(f) for f in glob.glob('/path/to/*.csv')], ignore_index=True)