Ajout de pandas dataframes générés dans une boucle for

J'accède à une série de fichiers Excel dans une boucle for. J'ai ensuite lu les données dans le fichier excel dans un DataFrame pandas. Je ne peux pas comprendre comment ajouter ces dataframes ensemble pour ensuite enregistrer le dataframe (contenant maintenant les données de tous les fichiers) en tant que nouveau fichier Excel.

Voici ce que j'ai essayé:

for infile in glob.glob("*.xlsx"):
    data = pandas.read_excel(infile)
    appended_data = pandas.DataFrame.append(data) # requires at least two arguments
appended_data.to_excel("appended.xlsx")

Merci!

32
demandé sur El Confuso 2015-02-23 11:23:44

2 réponses

Utiliser pd.concat pour fusionner une liste de DataFrame dans un grand DataFrame.

appended_data = []
for infile in glob.glob("*.xlsx"):
    data = pandas.read_excel(infile)
    # store DataFrame in list
    appended_data.append(data)
# see pd.concat documentation for more info
appended_data = pd.concat(appended_data, axis=1)
# write DataFrame to an excel sheet 
appended_data.to_excel('appended.xlsx')
67
répondu biobirdman 2017-08-20 08:27:39

Vous pouvez essayer ceci.

data_you_need=pd.DataFrame()
for infile in glob.glob("*.xlsx"):
    data = pandas.read_excel(infile)
    data_you_need=data_you_need.append(data,ignore_index=True)

J'espère que cela peut aider.

16
répondu ye jiawei 2016-05-24 02:01:14