Я создал простой код, который копирует и вставляет все файлы Excel в directory
в ту же папку с теми же форматами и именем столбцов ....
Файл 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 Total.xlsx")
Этот Excel выглядит как
, так как это один и тот же формат для всех файлов Excel, даже для файлового мастера Excel
, и я нахожу эту ошибку
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