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

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.dtcms.com/a/524595.html

相关文章:

  • 瓦力机器人-编码电机控制(基于树莓派5)
  • dw做网站怎么上线大良用户网站建设
  • Node.js 进阶:掌握高性能服务器开发的核心技术
  • Elasticsearch 的 SQL 与 DSL 转换
  • 快速做网站的软件腾讯企业邮箱电脑版登录入口
  • API测试工具进化:从Postman到Apipost的全局参数管理革命
  • 数据结构——排序的超级详解(Java版)
  • C# 加密解密字符方法Cryptography
  • 教做详情页的网站关键词优化公司电话
  • 中企动力科技股份有限公司网站梵克雅宝官网官方网
  • 自己电脑做电影网站中国建设教育协会培训中心
  • 第三章、React项目国际化介绍(`react-i18next`)
  • RHCA - DO374 | Day03:通过自动化控制器运行剧本
  • 深圳微商城网站建设温州 网站开发
  • 何谓RSS
  • 【SpringCloud】Eureka
  • 网站后台尺寸一般做多大的如何把优酷视频放到网站上
  • 帝国建站模板淘宝网络营销案例分析
  • 企业选择内容+人工智能供应商应该考虑什么?​
  • CI/CD(一)—— 从零搭建 GitLab 全流程(Docker 部署 + 实战指南)
  • 【Android】 Gradle 下载后本地使用方式(macOS / Windows通用)
  • 华为od面经-23届-Java面经
  • Kubernetes LoadBalancer系列|MetalLB介绍与配置
  • 网站制作及管理教程模板网站建设公司 东莞
  • 网站内容品质网站开发的相关语言有哪些
  • 淘宝自己网站怎么建设怎么制作网站编辑页面
  • SQLMap 终极渗透手册(2025全功能版)
  • 微硕WSP4884双N沟MOSFET:汽车智能座舱PMIC“微型稳压核”
  • 【Redis 全解析】高性能内存数据库的原理、实践与优化
  • 手机壳在线设计网站网站都不需要什么备案