提取不同工作簿中的表格,并对表格中相同索引值对应的数据行进行合计。
代码如下(示例):
import os
import pandas as pd
def searchfiles(directory,filetype):
'''寻找指定路径下的文件类型'''
filelist = []
for root,subdirs,files in os.walk(directory):
for filename in files:
if filename.endswith(filetype):
filelist.append(os.path.join(root,filename))
return filelist
AllFilesPath = searchfiles(r'C:UsersAdministratorDesktop报奖获奖名单及奖金支付奖金分配汇总','xls')
df1 = pd.read_excel(AllFilesPath[0], sheet_name='支付单',header=5,index_col=0,usecols=[1,3])
new_df = df1[:len(df1)-3].rename(lambda x:''.join(x.split())) # 去除索引列中的空格
for filepath in AllFilesPath[1:]:
df2 = pd.read_excel(filepath, sheet_name='支付单',header=5,index_col=0,usecols=[1,3])
df2.rename(lambda x:''.join(x.split()),inplace=True) # 去除索引列中的空格,原位替换
new_df = pd.concat([new_df,df2[:len(df2)-3]]) # 数据拼接
# needdata.index.is_unique # 查询数据里是否存在重复索引值
alldata = new_df.groupby(new_df.index).sum() # 对重复值求和
alldata.to_excel(r'C:UsersAdministratorDesktop报奖获奖名单及奖金支付list.xlsx')



