У меня есть две папки в разных каталогах, которые содержат файлы Excel с одинаковыми именами. Мне нужно объединить файлы Excel, а не листы, потому что у каждого файла есть один лист с одинаковым именем. например:
d1 содержит файлы A, B, C
d2 содержит файлы A, B, E, F
Выходные данные должны содержать два файла , результат объединения A из d1 и A из d2 и результат объединения B из d1 и B из d2 .
Если в файлах d1 и d2 нет файлов с одинаковыми именами, вывод не производится.
первый кадр данных имеет несколько строк, а второй кадр данных - одну строку. Когда я запускаю этот код, он рассматривает второй фрейм данных как заголовок, а когда я устанавливаю заголовок как false, он больше не учитывает его.
import glob
import numpy as np
file_d1 = glob.glob(d1 + "/*.xlsx")
file_d2 = glob.glob(d2 + "/*.xlsx")
i=0
for file_d1 in glob.glob(d1 + "/*.xlsx"):
fileName_d1 = os.path.splitext(os.path.splitext(os.path.basename(file_d1))[0])[0]
for file_d2 in glob.glob(d2 + "/*.xlsx"):
fileName_d2 = os.path.splitext(os.path.splitext(os.path.basename(file_d2))[0])[0]
if fileName_d1 == fileName_d2:
i+=1
fileName_1=d1+'/'+fileName_d1+'.xlsx'
df1 = pd.read_excel(fileName_1, header=0, index= False)
fileName_2=d2+'/'+fileName_d2+'.xlsx'
df2 = pd.read_excel(fileName_2, header=0, index= False)
print(fileName_1)
print(fileName_2)
df = pd.DataFrame(np.concatenate([df1.values, df2.values], axis=0), columns=df2.columns)
df.to_excel('C:/Users/khouloud.ayari/Desktop/FinalResult/output'+str(i)+'.xlsx', index = True, header=False)
Что я должен сделать, чтобы получить правильный выводчто (1-й фрейм данных + 2-й фрейм данных) не наоборот?
, когда я объединил два файла, "nbr de Reboot" пропал, а "nbr de km parcourus" считалсязаголовок df.to_excel('C:/Users/khouloud.ayari/Desktop/FinalResult/output'+str(i)+'.xlsx', index = False, header=True)
вывод через консоль
1 nbr de Kilomètres parcourus 1
0 Passage en mode privé 1
1 Passage en mode public 2
вывод .xlsx
ожидаемый вывод: A и B - три разных файла
PS: я использую Python 3.7 (Spyder)