Я создал простой код, который копирует и вставляет все файлы Excel в каталог в одной папке с одинаковыми форматами и именем столбца ....
Файл Excel представляет собой тип .xlsx, поскольку этот файл содержит3 листа, так что теперь у меня есть три листа под названием GSM, UMTS и LTE, и это имя листа одинаково на всех листах. Теперь все, что мне нужно, - это скопировать данные в листе GSM, данные в UMTS и данные в LTE во все свои данные на новый лист, а также удалить дубликаты .....
По мере необходимости также меняются измененияцвет столбцов или стиль в том же стиле, что и в исходном тексте, стиль текста и т. д. ...
Итак, вот мой код:
import pandas as pd
import os
basepath = r'C:\Users\mwx825326\PycharmProjects\MyExcelCombine\myCDD Combine'
files = list(filter(lambda x: '.xlsx' in x, os.listdir(basepath)))
alldf = pd.DataFrame()
for f in files:
df= pd.read_excel(f"{basepath}/{f}",encoding='latin-1', sheet_name=None)
alldf = pd.concat([alldf,df]).drop_duplicates(keep=False)
alldf.to_excel("1- CDD Total12.xlsx")
и это моя ошибка
Traceback (most recent call last):
File "C:/Users/mwx825326/PycharmProjects/MyExcelCombine/CombineTool.py", line 9, in <module>
alldf = pd.concat([alldf,df]).drop_duplicates(keep=False)
File "C:\Users\mwx825326\PycharmProjects\MyExcelCombine\venv\lib\site-packages\pandas\core\reshape\concat.py", line 255, in concat
sort=sort,
File "C:\Users\mwx825326\PycharmProjects\MyExcelCombine\venv\lib\site-packages\pandas\core\reshape\concat.py", line 332, in __init__
raise TypeError(msg)
TypeError: cannot concatenate object of type '<class 'collections.OrderedDict'>'; only Series and DataFrame objs are valid
Process finished with exit code 1
и это мои листы выглядят как
mydir = (os.getcwd()).replace('\\', '/') + '/'
gsm_cdd_total = pd.read_excel(r'' + mydir + '1- CDD Total.xlsx' ,sheet_name='GSM')
umts_cdd_total = pd.read_excel(r'' + mydir + '1- CDD Total.xlsx' ,sheet_name='UMTS')
lte_cdd_total = pd.read_excel(r'' + mydir + '1- CDD Total.xlsx' ,sheet_name='LTE')
gsm_generate = pd.read_excel(r'' + mydir + 'GUL CDD20191008021501.xlsx' ,sheet_name='GSM')
umts_generate = pd.read_excel(r'' + mydir + 'GUL CDD20191008021501.xlsx' ,sheet_name='UMTS')
lte_generate = pd.read_excel(r'' + mydir + 'GUL CDD20191008021501.xlsx' ,sheet_name='LTE')
и это мои отличные xlsx
выглядит так, как будто у него есть три основных листа, когда у них есть свои данные xlsx выглядиткак
Итак, если кто-нибудь знает, как обновить данные, относящиеся к каждому листу, и как решить эту проблему?