【发布时间】:2019-05-15 22:15:53
【问题描述】:
我在一个 Excel 工作簿中有多个工作表,每个工作表中都有重复的列。我需要删除重复项并仅保留原始列。
我知道如何在工作表中删除重复项。
df_sheet_map['> Acute Hospital Bed SLM']
result2=df_sheet_map['> Acute Hospital Bed SLM'].T.drop_duplicates().T
dfList = []
path = 'J:/TestDup'
newpath = 'J:/TestDup/Test2'
for fn in os.listdir(path):
file = os.path.join(path, fn)
if os.path.isfile(file):
# Import the excel file and call it xlsx_file
xlsx_file = pd.ExcelFile(file)
# View the excel files sheet names
xlsx_file.sheet_names
# Load the xlsx files Data sheet as a dataframe
df = xlsx_file.parse('Sheet1',header= None)
df_NoHeader = df[2:]
data = df_NoHeader
# Save individual dataframe
data.to_excel(os.path.join(newpath, fn))
dfList.append(data)
appended_data = pd.concat(dfList)
appended_data.to_excel(os.path.join(newpath, 'master_data.xlsx'))
上面的代码正在运行。但是,我需要遍历所有工作表。此外,它显示要删除前两行,我需要更改以删除重复项。
【问题讨论】:
-
我的尝试 [import pandas as pd df_sheet_map=pd.read_excel("H:/SLM_Final/SLM Indicator template Main to clean.xlsx",sheet_name=None) df_sheet_map['SLM By DHB'] result1 =df_sheet_map['SLM By DHB'].T.drop_duplicates().T df_sheet_map['>急性病床SLM'] result2=df_sheet_map['>急性病床SLM'].T.drop_duplicates().T 然后保存.我有超过 100 张要做同样的事情,请帮助 Mazin
-
嗨,我的回答很好。但是,任何改进将不胜感激。我正在寻找一个在 python 中包含删除重复项而不是使用 VB 的函数。
标签: python excel python-3.x