pandas和openpyxl实现报表自动化

pandas和openpyxl实现报表自动化

本文记录自己最近自学的报表自动化,主要用到的工具是python的pandas和openpyxl库
当然pandas库主要用来进行数据清洗(筛选、分组、统计等)具体操作本文不做说明
本文的重点在于说明如何将已经整理好的数据(pandas的Dataframe形式)写到excel中

openpyxl的常用操作

创建一个Workbook类
from openpyxl import *
wb = Workbook()
创建一个sheet对象,并命名为”sheet1”
sheet1 = wb.create_sheet("sheet1")

这里的“sheet1”相当于excel里工作表的表名

设置行宽、列高
sheet1.column_dimensions["A"].width = 27
sheet1.row_dimensions[1].height = 35
给单元格赋值
sheet1.cell(1,1).value = 100
sheet1.cell(2,2).value = 200
给单元格设置格式
from openpyxl.styles import *
mystyle = NamedStyle(name="mystyle")
mystyle.font = Font(name=u'微软雅黑',bold=True,size=10,color='FFFFFF')
mystyle.fill = PatternFill(fill_type='solid',fgColor='E1295C')
bd = Side(style='thin', color="000000")
mystyle.border = Border(left=bd, top=bd, right=bd, bottom=bd)
mystyle.alignment = Alignment(horizontal='center',
                                  vertical='center',
                                  text_rotation=0,
                                  wrap_text=True,
                                  shrink_to_fit=False,
                                  indent=0)

可以先创建一个NamedStyle的对象,然后根据需求设置其属性
font(字体类):字号、粗细、颜色、下划线等
fill(填充类):填充模式,颜色
border(边框类):设置单元格边框
alignment(位置类):对齐方式
number_format(格式类):数据格式
protection(保护类):写保护
这里用到了前四个(应该最常用了)

然后通过这句代码

设置指定位置的单元格格式
sheet1.cell(1,1).style = mystyle
保存/生成excel文件
wb.save("test.xlsx"
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值