Python XlsxWriter模块:生成Excel及插入直方图详解
本文详细介绍Python中XlsxWriter模块的用法,重点演示如何生成xlsx文件并插入直方图。通过代码示例解析数据写入、图表配置(如坐标轴、标题、数据标签)及样式设置,帮助开发者掌握Excel自动化处理与数据可视化技巧。
本文通过具体实例解析Python中XlsxWriter模块的使用方法,供读者参考学习。
XlsxWriter模块支持生成标准的xlsx格式Excel文件。其核心优势不仅在于数据写入,还具备丰富的图表与格式功能,例如插入直方图、饼图等图表类型,应用条件格式以及合并单元格等操作。下文将结合具体案例进行说明。
以下以插入直方图为例进行演示。
生成的文件效果如下所示。

对代码逻辑进行详细解析。
# -*- coding: cp936 -*-
import xlsxwriter
workbook = xlsxwriter.Workbook('chart_data_table.xlsx') #可以生成.xls文件但是会报错
worksheet = workbook.add_worksheet('Sheet1') #工作页
#准备测试数据
bold = workbook.add_format({'bold': 1})
headings = ['Number', 'Batch 1', 'Batch 2']
data = [
[2, 3, 4, 5, 6, 7],
[10, 40, 50, 20, 10, 50],
[30, 60, 70, 50, 40, 30],
]
#插入数据
worksheet.write_row('A1', headings, bold)#行插入操作 注意这里的'A1'
worksheet.write_column('A2', data[0])#列插入操作 注意这里的'A2'
worksheet.write_column('B2', data[1])
worksheet.write_column('C2', data[2])
#插入直方图1
chart1 = workbook.add_chart({'type': 'column'})#选择 直方图 'column'
chart1.add_series({
'name': '=Sheet1!$B$1',
'categories': '=Sheet1!$A$2:$A$7',#X轴值(实在不知道怎么叫,就用XY轴表示)
'values': '=Sheet1!$B$2:$B$7',#Y轴值
'data_labels': {'value': True}#显示数字,就是直方图上面的数字,默认不显示
})
#注意上面写法 '=Sheet1!$B$2:$B$7' Sheet1是指定工作页, $A$2:$A$7是从A2到A7数据,熟悉excel朋友应该一眼就能认得出来
#插入直方图2
chart1.add_series({
'name': ['Sheet1', 0, 2],
'categories': ['Sheet1', 1, 0, 6, 0],
'values': ['Sheet1', 1, 2, 6, 2],
'data_labels': {'value': True}
})
chart1.set_title({'name': 'Chart with Data Table'}) #直方图标题
chart1.set_x_axis({'name': 'Test number'}) #X轴描述
chart1.set_y_axis({'name': 'Sample length (mm)'})#有轴描述
chart1.set_table()
chart1.set_style(3)#直方图类型
worksheet.insert_chart('D2', chart1, {'x_offset': 25, 'y_offset': 10}) #直方图插入到 D2位置
workbook.close()
完整代码示例如下。
如需获取XlsxWriter模块,请访问其官方下载链接。
详细的API文档与开发指南可查阅XlsxWriter在线开发文档。
更多关于Python技术的实用技巧,建议参考本站专题:《Python操作Excel表格技巧总结》、《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》以及《Python入门与进阶经典教程》。
希望本文的内容能对各位的Python编程实践提供有效帮助。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













