У меня есть несколько листов Excel с другим столбцом:
Таблица A: Col1 Col2 Col3
Таблица B: Col2 Col4 Col5
Таблица C:Col1 Col6 Col7
Мой финальный стол должен выглядеть следующим образом:
Финальный стол: Col1 Col2 Col3 Col4 Col5 Col6 Col7
Incase, если естьне содержит подробностей для определенного столбца, он должен оставаться пустым.Я успешно выполнил объединение только двух таблиц одновременно, но я хочу объединить все таблицы вместе.
Это код, объединяющий два листа:
import pandas as pd
import numpy as np
import glob
df = pd.read_excel('C:/Users/Am/Downloads/sales-mar-2014.xlsx')
status = pd.read_excel('C:/Users/Am/Downloads/customer-status.xlsx')
all_data_st = pd.merge(df, status, how='outer')
all_data_st.to_excel('C:/Users/Am/Downloads/a1.xlsx',header=True)
Это кодя написал для объединения более двух листов:
import pandas as pd
import numpy as np
import glob
all_data = pd.DataFrame()
for f in glob.glob(‘C:/Users/Am/Downloads/*.xlsx’):
all_data = all_data.merge(pd.read_excel(f), how='outer')
writer = pd.ExcelWriter('merged.xlsx', engine='xlsxwriter')
all_data.to_excel(writer,sheet_name='Sheet1')
writer.save()
Это ошибка, которую я получаю:
Traceback (most recent call last):
File "E:/allfile.py", line 7, in <module>
all_data = all_data.merge(pd.read_excel(f), how='outer')
File "C:\Users\Am\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\core\frame.py", line 6868, in merge
copy=copy, indicator=indicator, validate=validate)
File "C:\Users\Am\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\core\reshape\merge.py", line 47, in merge
validate=validate)
File "C:\Users\Am\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\core\reshape\merge.py", line 524, in __init__
self._validate_specification()
File "C:\Users\Am\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\core\reshape\merge.py", line 1033, in _validate_specification
lidx=self.left_index, ridx=self.right_index))
pandas.errors.MergeError: No common columns to perform merge on. Merge options: left_on=None, right_on=None, left_index=False, right_index=False