【发布时间】:2019-10-22 14:15:57
【问题描述】:
我创建了一些简单的代码,将所有 Excel 文件复制并粘贴到具有相同格式和列名的同一文件夹中的目录中......
Excel 文件是 .xlsx 类型,因为该文件包含 3 张工作表,所以现在我有 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 looks like
那么,如果有人知道如何更新与每张工作表相关的数据以及如何解决这个问题?
【问题讨论】: