import os
import xlwings as xw
import pandas as pd
app = xw.App(visible=False,add_book=False)
file_path = r'D:\python_file\销售表'
file_list = os.listdir(file_path) # 列出文件夹下所有文件和子文件夹的名称
collection = []
for i in file_list: # 遍历文件夹下的文件
if os.path.splitext(i)[1] == '.xlsx': # 判断文件是否为xlsx工作簿
workbook = app.books.open(file_path + '\\' + i) # 打开工作簿
worksheet = workbook.sheets['销售记录表'] # 指定要分类汇总的工作表
values = worksheet.range('A1').expand('table').options(pd.DataFrame).value # 读取当前工作表数据
filtered = values[['销售区域','销售利润']] # 只保留这两列
collection.append(filtered) # 将多个工作表的数据合并到一个DataFrame中
workbook.close()
new_values = pd.concat(collection,ignore_index=False).set_index('销售区域')
new_values['销售利润'] = new_values['销售利润'].astype('float') # 更改数据类型
result = new_values.groupby('销售区域').sum() # 分类汇总
new_workbook = app.books.add()
sheet = new_workbook.sheets[0]
sheet.range('a1').value = result # 将各个销售区域的销售利润汇总结果写入当前工作表
new_workbook.save(r'D:\python_file\123.xlsx')
app.quit()
6.7 将多个工作簿数据分类汇总到一个工作簿
最新推荐文章于 2023-01-13 18:14:02 发布