J'ai besoin de combiner tous les fichiers Excel de mon répertoire en un fichier Excel. Par exemple, j'ai 3 fichiers Excel:
File1: strong> p> Fichier 3: strong> P> J'ai besoin de les concaténer et d'obtenir une sortie comme suit p> Mais au lieu de cela, ils ont été annexés l'un après l'autre
Ceci est mon code: P>
p> import pandas as pd
import numpy as np
import glob
all_data = pd.DataFrame()
for f in glob.glob('C:/Users/test-results/FinalResult/05-01-2019/*.xlsx'):
df = pd.read_excel(f)
all_data = all_data.append(df, ignore_index=True)
writer = pd.ExcelWriter('mycollected_data.xlsx', engine='xlsxwriter')
all_data.to_excel(writer, sheet_name='Sheet1')
writer.save()
3 Réponses :
Essayez ceci: p>
all_data = pd.concat ([all_data, df], axe = 1) code> p>
Merci mais le fichier Excel généré a répété le nom de la colonne 3 fois, alors au lieu d'avoir 4 colonnes, j'ai six colonnes.
Vous pouvez utiliser
files = glob.glob('C:/Users/test-results/FinalResult/05-01-2019/*.xlsx')
dfs = (pd.read_excel(f, index_col=0) for f in files)
all_data = pd.concat(dfs, axis=1)
Merci mais le fichier Excel généré a répété le nom de la colonne 3 fois, alors au lieu d'avoir 4 colonnes, j'ai six colonnes.
Merci, mais je voulais dire que ma sortie comme celle-ci: Nombre de redémarrage 0 Nombre de redémarrage 0 Nombre de redémarrage 0 Code> Passage en mode Privé 1 Passage en mode Privé 1 Passage en mode Privé 1 < / code>
Oui, je pense que je comprends l'intention; Comme pd.concat code> se comporte bien en ce qui concerne les indices, vous devriez pouvoir l'obtenir en spécifiant la colonne donnée comme index tout en lisant; J'ai mis à jour la réponse en conséquence.
all_data = all_data.merge(df, on = ['first_column_name'], how = 'left')
ou comment = 'intérieure'
Merci pour votre réponse, mais cela a généré un DF vide
Désolé, vous pouvez essayer de fusionner pour remplacer Join.