栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python办公自动化——批量合并工作簿案例

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python办公自动化——批量合并工作簿案例

1、案例需求:将多个工作簿中的数据汇总合并到一个新的工作簿中

步骤:

a.创建新工作簿、创建一个新工作表

b.创建工作表,编辑工作表名

c.设置单元格样式:字体、对齐样式、填充样式

d.合并单元格、添加表头

e.遍历工作簿并打开对应的工作表,取出对应的工作表中的值

f.写入新的工作表中

2、工作簿前后展示

要归并处理的工作簿:

单个工作簿中的数据:

 3、代码展示:

        引入表格数据处理模块:openpyxl、单元格格式处理模块 openpyxl.styles

import openpyxl
from openpyxl.styles import Font,Alignment,PatternFill
# 创建新工作簿
wb = openpyxl.Workbook()
# 创建一个新工作表
ws=wb.active
# 编辑工作表名
ws.title='汇总数据'
# 元组需要加逗号
ws.append(('小保健大药房2022全国销售数据',))

# 设置单元格样式
cell = ws['A1']
# 设置单元格字体
cell.font = Font(size= 20,bold=True,color='0000ff',name='微软雅黑')
# 设置单元格对齐样式
cell.alignment = Alignment(horizontal='center', vertical='center')
# 设置单元格填充样式
cell.fill=PatternFill(fill_type='solid', fgColor="00ff00")

# 合并单元格
ws.merge_cells('A1:G1')
# 向工作表中写入表头
ws.append(['购药时间', '社保卡号', '商品编码', '商品名称', '销售数量', '应收金额', '实收金额'])
# 需要要合并的工作簿名
names = ('高新店','犀浦店','新津店')
for name in names:
    # 循环遍历打开这些工作簿
    wb1=openpyxl.load_workbook(f'小宝剑大药房({name})2018年销售数据.xlsx')
    # 打开每一个工作簿的第一个工作表
    sheet=wb1.worksheets[0]
    # 选取数据区域A3:GX
    rows=sheet[f'A3:G{sheet.max_row}']

    # 将行列表的数据放到一个大列表中
    #  data = []
    #  for row in rows:
    #      if row[0].value is not None:
            # 将工作表中每一行的数据放到一个列表中
    #         res = []
    #         for cell in row:
    #             res.append(cell.value)
    #             data.append(res)

    # 将以上代码转换为列表推导式
    data=[[cell.value for cell in row] for row in rows if row[0].value]
    # 将这些数据一行一行写入新工作簿的工作表中
    for content in data:
        ws.append(content)
# 保存工作簿,并命名
wb.save('小保健药房汇总数据20220512.xlsx')

处理后的数据展示:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/887177.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号