
写入 Excel
首先当然是安装第三方模块:
首先我们需要先创建一个 WorkBook:
1 2 | import xlsxwriter
workbook = xlsxwriter.Workbook( 'demo.xlsx' )
|
在所有操作之前,需要记得先导入我们刚才安装的 xlsxwriter 的模块。
接下来,我们创建一个 Sheet:
1 | sheet1 = workbook.add_worksheet( 'test_sheet' )
|
创建完成后,需要关闭 workbook,这一步会将我们刚才创建的 workbook 进行保存。
好了,我们已经创建好了一个 excel ,操作结束,下课。
老师,你回来,这就完了?

我们接着介绍如何将数据写入至 Excel 中。
首先我们可以先设置一些的单元格的格式:
1 2 3 4 5 6 7 8 9 | workfomat = workbook.add_format()
# 字体加粗
workfomat.set_bold(True)
# 单元格边框宽度
workfomat.set_border(1)
# 对齐方式
workfomat.set_align( 'left' )
# 格式化数据格式为小数点后两位
workfomat.set_num_format( '0.00' )
|
然后我们将内容写入,具体内容小编懒得想了,直接复制上一篇文章中的内容:
1 2 3 4 5 6 7 8 9 10 | heads = [ '' , '语文' , '数学' , '英语' ]
datas = [
[ '小明' , 76, 85, 95],
[ '小红' , 85, 58, 92],
[ '小王' , 98, 96, 91]
]
sheet1.write_row( 'A1' , heads, workfomat)
sheet1.write_row( 'A2' , datas[0], workfomat)
sheet1.write_row( 'A3' , datas[1], workfomat)
sheet1.write_row( 'A4' , datas[2], workfomat)
|
然后执行程序,我们来看下最终输出的结果:

除了可以这样输出以外,我们还可以指定输出的单元格格式:
我们列举一个比较复杂的输出日期类型:
1 2 | fomat1 = workbook.add_format({ 'num_format' : 'yy/mm/dd/ hh:mm:ss' })
sheet1.write_datetime( 'E5' , datetime.datetime(2019, 11, 9, 22, 44, 26), fomat1)
|
注意: 上面的格式化一定要加,否则在 Excel 中显示出来的只会是一个时间戳。
其他的输出类型小编这里就不一一举例了,下面列出一些常用的:
1 2 3 4 5 6 7 8 9 10 11 12 | # 字符串类型
sheet1.write_string()
# 数字型
sheet1.wirte_number()
# 空类型
sheet1.write_blank()
# 公式
sheet1.write_formula()
# 布尔型
sheet1.write_boolean()
# 超链接
sheet1.write_url()
|
我们还可以在 Excel 中插入图片,样例如下:
1 | sheet1.insert_image( 'I6' , 'wx.jpg' )
|
语法如下:
1 2 3 4 5 | insert_image(row, col, image[, options])
row:行坐标,起始索引值为0;
col:列坐标,起始索引值为0;
image:string类型,是图片路径;
options:dict类型,是可选参数,用于指定图片位置,如URL等信息;
|
我们还可以在 Excel 中绘图,支持包括面积、条形图、柱状图、折线图、散点图等。
图表对象是通过 Workbook add_chart() 方法创建的,其中指定了图表类型:
1 | chart = workbook.add_chart({ 'type' : 'column' })
|
常见的图表样式如下:
1 2 3 4 5 6 7 8 | area:面积样式的图表
bar:条形图
column:柱状图
line:线条样式的图表
pie:饼形图
scatter:散点图
stock:股票样式的图表
radar:雷达样式的图表
|
然后使用 insert_chart() Worksheet方法将其作为嵌入的图表插入到工作表中:
1 | sheet1.insert_chart( 'A7' , chart)
|
完整示例如下:
1 2 3 4 5 | chart = workbook.add_chart({ 'type' : 'column' })
chart.add_series({ 'values' : '=test_sheet!$B$2:$B$4' })
chart.add_series({ 'values' : '=test_sheet!$C$2:$C$4' })
chart.add_series({ 'values' : '=test_sheet!$D$2:$D$4' })
sheet1.insert_chart( 'A7' , chart)
|
结果如下:

一些常用的简单的操作就介绍到这里,想了解更多的同学可以访问官方文档,链接:https://xlsxwriter.readthedocs.io/ 。
python学习网,大量的免费python视频教程,欢迎在线学习!
本文转自:https://blog.csdn.net/meteor_93/article/details/103135021