京公网安备 11010802034615号
经营许可证编号:京B2-20210330
作者:潮汐
来源:Python 技术
随着技术栈的越来越成熟,为了解决重复的劳动力型工作,越来越多的人开始学习自动化办公,使用技术帮助自己高效工作,提升工作效率,今天的文章讲解如何使用Python技术中的神奇工具来协助咱们自动化办公,这个神器就是 xlsxwriter。
那什么是 xlsxwriter 呢?
Xlsxwriter 是一个用于编写 Excel 文件格式文件的 Python 模块,xlsxwriter 可以用来写文本,数字,公式和超链接到多个工作表,它支持的功能也有很多,譬如格式化、单元格合并、图标功能等,具体功能如下:
02
另外它还支持Python 3.4+和PyPy3,并且只使用标准库。但值得注意的是它不支持读或者改现有的excel文件。
xlsxwriter 同样也使用 pip 安装,安装语句如下:pip install xlsxwriter
以下是关于 xlsxwriter
import xlsxwriter
workbook = xlsxwriter.Workbook('demo.xlsx') # 建立文件 worksheet = workbook.add_worksheet() # 建立sheet, 可以使用work.add_worksheet('employee')来指定sheet名,如果命名中文名会报UnicodeDecodeErro的错误 worksheet.write('A1', 'Hello world') # 向A1写入文字 workbook.close()
03
下面简单看一个实例,新增一个表格,再在表格中添加文字、数据以及图片,最后将工作表保存在当前工作空间中,详细实例如下:
import xlsxwriter def simple_example(): # 创建一个新的Excel文件并添加一个工作表 workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet() # 确定第一栏,使文字更清楚 worksheet.set_column('A:A', 20) # 添加粗体格式以突出显示单元格 bold = workbook.add_format({'bold': True}) # 简单的写一些文字 worksheet.write('A1', 'Hello') # 另起一行写入文字并加粗 worksheet.write('A2', 'World', bold) # 用行/列表示法写一些数字 worksheet.write(2, 0, 123)
worksheet.write(3, 0, 13.432) # 插入一张图片. worksheet.insert_image('B5', 'logo.jpeg')
workbook.close() if __name__ == '__main__':
simple_example()
实例结果图:
04
下面的实例讲解新建表格添加相应数据求和。
def sum_data(): workbook = xlsxwriter.Workbook('demo.xlsx') # 建立文件 worksheet = workbook.add_worksheet()
add_data = (
['A1', 1087],
['A2', 1056],
['A3', 300],
['A4', 590],
) # 按标号写入是从0开始的,按绝对位置'A1'写入是从1开始的 row = 0 col = 0 # 遍历数据并逐行写出它 for item, cost in (add_data):
worksheet.write(row, col, item)
worksheet.write(row, col + 1, cost)
row += 1 # 用公式写出总数 worksheet.write(row, 0, 'Total')
worksheet.write(row, 1, '=SUM(B1:B4)') # 调用excel的公式表达式 workbook.close()
求和结果如下:
05
以下实例讲解输出数字格式,使用workbook.add_format()函数进行自定义新增和运算后的输出结果,详细步骤如下:
def self_define_format(): # 建文件及sheet. workbook = xlsxwriter.Workbook('demo2.xlsx')
worksheet = workbook.add_worksheet() # Add a bold format to use to highlight cells. 设置粗体,默认是False bold = workbook.add_format({'bold': True}) # 定义数字格式 money = workbook.add_format({'num_format': '$#,##0'}) # Write some data headers. 带自定义粗体blod格式写表头 worksheet.write('A1', 'Item', bold)
worksheet.write('B1', 'Cost', bold) # Some data we want to write to the worksheet. add_data = (
['A1', 1087],
['A2', 1056],
['A3', 300],
['A4', 590],
) # Start from the first cell below the headers. row = 1 col = 0 # Iterate over the data and write it out row by row. for item, cost in (add_data):
worksheet.write(row, col, item) # 带默认格式写入 worksheet.write(row, col + 1, cost, money) # 带自定义money格式写入 row += 1 # Write a total using a formula. worksheet.write(row, 0, 'Total', bold)
worksheet.write(row, 1, '=SUM(B2:B5)', money)
workbook.close()
输出结果如下:
06
在单元格输出结果中加入日期格式:
def write_date(): from datetime import datetime
workbook = xlsxwriter.Workbook('demo3.xlsx')
worksheet = workbook.add_worksheet() # 添加粗体格式以突出显示单元格. bold = workbook.add_format({'bold': 1}) # 为带钱的单元格添加数字格式. money_format = workbook.add_format({'num_format': '$#,##0'}) # 添加Excel日期格式. date_format = workbook.add_format({'num_format': 'mmmm d yyyy'}) # 调整列的宽度 worksheet.set_column(1, 1, 15) # 写入数据表头 worksheet.write('A1', 'Item', bold)
worksheet.write('B1', 'Date', bold)
worksheet.write('C1', 'Cost', bold) # 将数据写入工作表 add_data = (
['A1', '2013-01-13', 1875],
['A2', '2013-01-14', 345],
['A3', '2013-01-16', 564],
['A4', '2013-01-20', 10987],
) # 从标题下面的第一个单元格开始. row = 1 col = 0 for item, date_str, cost in (add_data): # 将日期字符串转换为datetime对象 date = datetime.strptime(date_str, "%Y-%m-%d")
worksheet.write_string(row, col, item)
worksheet.write_datetime(row, col + 1, date, date_format)
worksheet.write_number(row, col + 2, cost, money_format)
row += 1 # 用公式写出总数 worksheet.write(row, 0, 'Total', bold)
worksheet.write(row, 2, '=SUM(C2:C5)', money_format)
workbook.close()
输出结果如下:
07
今天的文章讲解了神器 xlsxwriter 操作 Excel 的基本操作,当然还有更多关于 xlsxwriter 有趣的知识点还未分享,欲知后事如何,下回咱们接着分享,感兴趣的朋友们可以试试,希望对大家有所帮助。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在 MySQL 查询性能优化体系中,索引是降低查询耗时、提升数据库吞吐的核心手段。其中联合索引与覆盖索引是实际开发中最高频的两 ...
2026-06-15在数据仓库建设与商业智能分析体系中,维度建模是应用最广泛的建模方法论,而事实表与维度表是维度建模的两大核心构件,共同构成 ...
2026-06-15 很多数据分析师能熟练计算指标,但当被问到“这家企业的核心业务目标是什么”“如何把模糊的战略目标拆解为可量化的指标”“ ...
2026-06-15在数据分析、业务监控、运营复盘等场景中,列值趋势计算是核心需求之一。无论是分析销售额的月度增长、用户活跃的变化趋势、库存 ...
2026-06-12在数字经济深度渗透的当下,消费者的购买行为已从过去的 “被动接受” 转变为 “主动决策”。流量红利消退、获客成本攀升、用户 ...
2026-06-12CDA三级认证是三个级别中的塔尖,全面考察数据战略、团队领导和复杂项目的综合能力。它所对应的《敏捷数据挖掘》教材,不再局限 ...
2026-06-12在游戏产业的商业逻辑中,付费玩家是支撑游戏生存与发展的核心支柱。行业普遍遵循 “二八定律”:20% 的付费玩家贡献了游戏 80% ...
2026-06-11【核心关键词】企业、定位、传统、产品、互联网、可视化、业务侧、数字化、结构化、数据分析、传统制造业、市场状态、发展空间 ...
2026-06-11 解读《CDA二级教材:量化策略分析(2025)》的全景结构与学习逻辑 ” CDA二级认证是企业招聘数据分析师时最常提及的证书门槛 ...
2026-06-11【核心关键词】药企、可视化、营销、分类、数据分析师、销售数据、业务人员、指导方向、分析报告、营销数据、营销医生 【专访摘 ...
2026-06-10在统计学分析、问卷调研、实验验证、业务复盘等场景中,卡方检验与 T 检验是应用最广泛的两类基础假设检验方法。前者专门处理分 ...
2026-06-10 很多数据分析师每天都在计算指标、制作报表,但当被问到“什么叫指标数据元”“指标数据标准包含哪些核心维度”“指标数据质 ...
2026-06-10在MySQL数据库日常查询、数据统计、后台接口开发、数据导出等场景中,开发者经常需要查询数据表除某几列之外的所有字段。例如查 ...
2026-06-09在Python网络请求、爬虫开发、接口测试、数据抓取等实操场景中,requests库是最常用的第三方请求工具,而content属性是requests ...
2026-06-09 数据分析正在重塑每一个行业。CDA认证的三本官方教材,分别对应Level I、Level II、Level III,为你铺就从业务数据分析到数 ...
2026-06-09在数字财务、智慧财税、业财融合深度推进的当下,传统财务模式下数据标准混乱、业务流程碎片化、知识无法沉淀、系统互通性差等问 ...
2026-06-08随着数字经济深度渗透各行各业,数据正式成为继土地、劳动力、资本、技术之后的第五大生产要素,是企业数字化转型、精细化运营、 ...
2026-06-08 很多数据分析师能熟练写SQL、做透视表,但当被问到“数据是从哪里来的?经过哪些加工才进入数据仓库?ETL具体做了什么?”时 ...
2026-06-08【核心关键词】贷款、报表、课程、专业、建模、缺失值、营销、互联网、银行、办公自动化、数据分析、数据预处理、特征工程、贷 ...
2026-06-05在数据库数据查询、业务报表统计、多表关联分析中,LEFT JOIN左连接是使用率最高的SQL关联查询语句。其核心特性是保留左表全部数 ...
2026-06-05