当前位置: 首页 > news >正文

XlsxWriter,一款强大的Python Excel处理库

我用Python处理Excel使用最多的库是XlsxWriter和Pandas,Pandas不用多说,很适合将Excel转为DataFrame格式来处理数据。

这里重点讲讲XlsxWriter,非常擅长写入Excel。它在github上有近4K的star,在众多Excel库中可能也是最好用最容易上手的,它支持创建、写入、公式、图表设计、可视化、格式处理等各种Excel操作。

XlsxWriter最好用的点在于它不依赖其他库或者Excel引擎,单纯靠Python标准库执行任务,所以安装简单、速度快、出错率低、环境适应性强。

而且XlsxWriter非常适合Excel大数据的写入,因为它有一种特殊的“常量内存”管理模式,可以一边写入新数据,一边删除内存的中旧数据,不会占用内存,因此可以支持超大数据量的处理。

安装XlsxWriter很简单,直接在命令行中输入:

pip install XlsxWriter

由于没有依赖库,XlsxWriter安装非常快,安装好后,使用import导入便可以使用。

比如以下几行代码,可以轻松创建一个excel表,然后写入一列数据,并使用这列数据创建一个折线图,速度非常之快。

import xlsxwriter # 要输入的数据 data = [12,15,18,20,17,14] # 创建工作簿和工作表 workbook = xlsxwriter.Workbook('示例.xlsx') worksheet = workbook.add_worksheet() # 写入数据 worksheet.write_column('A1', data) # 创建新的折线图对象 chart = workbook.add_chart({'type': 'line'}) # 向图表添加数据系列 chart.add_series({'values': '=Sheet1!$A$1:$A$6'}) # 将图表插入工作表 worksheet.insert_chart('C1', chart) # 关闭xlsx文件 workbook.close()

效果如下:

要学会XlsxWriter,需要知道XlsxWriter有3个基础对象。

  • Workbook(工作薄):用于创建Excel文件,通过方法xlsxwriter.Workbook()实现。
  • Worksheet(工作表):用于创建Excel中的某个sheet,通过workbook.add_worksheet()实现。
  • Format(格式化):用于设置单元格格式的方法和属性,比如:字体、颜色、图案、边框、对齐方式和数字格式等,通过workbook.add_format()实现。

比如以下案例,就解释了以上3个对象的使用方法,创建一个Excel表及其sheet,并写入A1单元数值和设置格式。

import xlsxwriter # 创建Excel workbook = xlsxwriter.Workbook('set_format.xlsx') # 创建sheet worksheet = workbook.add_worksheet() # 设置单元格格式 currency_format = workbook.add_format({ 'num_format': '$#,##0.00', # 数字格式 'bold': True, # 字体加粗 'font_name': '微软雅黑', # 设置字体名称 'bg_color': 'orange' # 设置单元格背景颜色为橙色 }) worksheet.write('A1', 789.23, currency_format) workbook.close()

可能你经常会用Pandas导出Excel,但Pandas对Excel的处理能力很有限,所以可以使用XlsxWriter作为引擎,导出格式更加丰富、有图表的Excel。

使用方法很简单

import pandas as pd # 创建df数据 df = pd.DataFrame({'Data': [10, 20, 30, 20, 15, 30, 45]}) # 使用XlsxWriter作为引擎,创建excel写入对象 writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter') # 导出excel df.to_excel(writer, sheet_name='Sheet1') # 对excel对象进行各种操作 workbook = writer.book worksheet = writer.sheets['Sales Data'] ...... writer.close()

比如我用pandas处理一份上百万行的销售数据,最终输出时,使用XlsxWriter设计一份报表,有表有图,可以直接作为业务表使用。

因为XlsxWriter是将数据保存在内存中的,如果需要写入的数据量很大,连内存都扛不住了,XlsxWriter有专门的内存管理模式可以处理。

它的处理机制时,写入新的数据时,在内存中删除旧的数据,这样内存不会被一直占用,还能保证数据可以持续写入。

你可以在创建 Workbook 对象时设置constant_memory参数来启用内存管理模式

workbook = xlsxwriter.Workbook('large_file.xlsx', {'constant_memory': True})

可以看到XlsxWriter非常的简单,但却很强大,搭配Pandas来用效果更好,最后放一个使用xlsxwriter做的商业化看板,一键导出,非常方便。

http://www.jsqmd.com/news/481835/

相关文章:

  • HTTP 协议 qeury 参数的说明 - liyan
  • 2026年度北京上门回收老酒名酒正规机构官方测评排行 - 品牌排行榜单
  • 盘式电机:电动车驱动的未来之星
  • 基于时间约束的CAN网络管理一致性测试方法复现与实现
  • 2026年2月,探寻受欢迎的成都火锅品牌都有谁,附近火锅/火锅/牛肉火锅/美食/地摊火锅/社区火锅,成都火锅品牌排行 - 品牌推荐师
  • 2026六大城市高端腕表维修“二次损伤”调查报告:北京上海百达翡丽、南京杭州欧米茄养护避坑全解析 - 时光修表匠
  • DigVPS 测评 - 新增商户 HostBlazer 并奉上 US Central - Dallas 产品详评数据,性能不错,适合建站,九折出售中。
  • 北京名酒老酒上门回收实测:4家靠谱商家测评排名,藏家变现不踩坑 - 品牌排行榜单
  • 3-sum 问题 - liyan
  • emacs! start org-mode! --org-mode使用备注 - liyan
  • python调试方法(其一) - liyan
  • CLI-Anything + Gear 最佳实践与踩坑修复沉淀
  • ratelimit服务流量限制 - liyan
  • 北京卡地亚维修、深圳爱彼保养、杭州万国检修|6城高端腕表维修科普指南 - 时光修表匠
  • windows用户有哪些必备的小工具软件能大幅提高效率而且占用资源低?
  • web中各个标签的关系
  • CF2208D1,D2 Tree Orientation (Easy,Hard Version) Solution
  • 2026年3月偏心半球阀批发厂家排行榜单,优质源头厂推荐,偏心半球阀厂家技术领航者深度解析 - 品牌推荐师
  • 上海积家维修、深圳宝玑保养、南京昆仑检修|6城高端腕表维修科普指南 - 时光修表匠
  • 百考通精准贴合学生写作痛点,打造“一站式”毕业论文服务体系
  • 学习笔记+ZY_75843《机器人操作系统(ROS2)入门与实践 》_刘相权等+记录
  • 告别学术焦虑:百考通AI,覆盖从“降AI痕迹”到“降重复率”的全场景需求
  • 网络流 学习笔记(施工中)
  • 守住学术原创底线!百考通AIGC检测,筑牢学术原创防线,为论文合规性保驾护航
  • 直接上结论:10个AI论文网站测评!继续教育毕业论文写作必备工具推荐
  • 百考通AI:让文献综述从繁琐的体力劳动,转变为高效的学术洞察过程
  • LongFact:评估LLM长文本事实性的基准测试
  • 稳压泵实力厂家2026年新动态,一文速览,排污泵/恒压变频供水设备/消防泵/消防水箱/玻璃钢水箱,稳压泵公司有哪些 - 品牌推荐师
  • 百考通精准贴合不同学历层次的学术需求,实现了从选题到成文的全流程赋能
  • cpp的模块配置