目录
1.4.1 xlsxwriter模块简介
1.4.2 安装xlsxwriter
1.4.3 xlsxwriter模块常用操作
1.3.2 系统学习Python
xlsxwriter用来生成excel文件,生成的excel文件完全兼容Excel xlsx格式。xlsxwriter模块提供了诸多丰富的功能,不仅可以写入文本、数值类的表单数据,支持单元格合并,数据格式化等操作,还能插入统计类的直方图,饼图等。
在windows系统中通过以下步骤来安装xlsxwriter模块:
(1) 按下键盘中的windows键,输入cmd命令,进入到windows命令行
(2) 在命令行执行pip install xlsxwriter,安装xlsxwriter模块
(1) 获取workbook
xlsxwriter.Workbook(filename) |
(1)filename表示excel文件的路径, (2)返回xlsxwriter.workbook.Workbook对象 |
代码实例:
import xlsxwriter
workbook = xlsxwriter.Workbook("demo.xlsx")
(2) 添加工作表Sheet
获得workbook以后,可通过add_worksheet方法添加工作表:
workbook.add_worksheet(name=None) |
参数name表示sheet的名称,如未指定则设置默认值"Sheet1"。该方法返回一个worksheet对象 |
代码实例:
import xlsxwriter
workbook = xlsxwriter.Workbook("demo.xlsx")
worksheet = workbook.add_worksheet("烹饪清单")
(3) 设置工作表列宽
获得worksheet对象以后,可通过set_column方法设置列宽:
worksheet.set_column(column, width) |
形参column传递的是列名的字符串,可以同时设置多个列,列名以:进行分隔,例如:"A:B",表示同时设置第一列与第二列的列宽。width用来指定列宽,单位为像素。 |
代码实例:
import xlsxwriter
workbook = xlsxwriter.Workbook("demo.xlsx")
worksheet = workbook.add_worksheet("烹饪清单")
workseet.set_column("A:E", 20)
(4) 写入文本,数值等数据
获得worksheet对象以后,可通过以下方法写入数据:
Worksheet.write_string(column, value,format) |
形参column传递的是列名的字符串, value是写入的字符串,format是一个格式化对象。列名的格式为列名符号+列索引,例如A0表示第一列中的第一个单元格,A1表示第一列中的第二个单元格,以此类推。 |
Worksheet.write_string(row, column, value, format) |
形参row传递的是行索引, column传递的是列索引,value是待写入的字符串, format是一个格式化对象。 |
Worksheet.write_number(column, value, format) |
用法同write_string(column, value, format)方法,只不过写入的是数值 |
Worksheet.write_number(row,column,value, format) |
用法同write_string(row, column, value, format)方法,只不过写入的是数值 |
(5) 对单元格进行格式化
先通过Workbook对象添加一个格式化对象:Workbook.add_format(format),format传递的是字典类型。format格式举例:
format = {
'font_size':20, # 设置字体大小
'bold': True, # 设置字体是否加粗
'border': 0, # 设置边框宽度
'align': 'center', # 设置水平对齐方式
'valign': 'vcenter', # 设置垂直对齐方式
# 更多的格式属性,同学们可以查阅官方文档。官方文档链接:https://xlsxwriter.readthedocs.io/
}
获得了format对象以后,在对单元格进行操作时,再传递这个format对象,例如:
work_sheet.write_string(0, 0, '测试',format)
(6) 对单元格进行合并
获得worksheet对象以后,可通过以下方法合并单元格:
Worksheet.merge_range(columns, value,format) |
形参columns传递的是要合并的列名, 格式为列名:列名。例如A0:B0,指的是将第一列的第一个单元格与第二列的第二个单元格进行合并。value是待写入的内容,format是一个格式化对象。 |
代码实例:
import xlsxwriter
workbook = xlsxwriter.Workbook("demo.xlsx")
worksheet = workbook.add_worksheet("烹饪清单")
workseet.merge_range("A0:C1", "茄子") # 将A0与C1之间的所有单元格合并,并写入茄子
(7) 在Excel中绘制图表
xlsxwriter提供了Chart类来绘制图表,其支持的图表类型有条形图,柱状图,饼图,散点图等。通过Workbook对象的add_chart方法来获取chart对象:
Workbook.add_chart(options) |
options为字典类型,参数格式举例:{'type': 'bar'}。键名type用来指定图表的类型,以下为常用的类型字段值: ① area:区域样式图表 ② bar: 条形图 ③ column:列样式图表,比如直方图 ④ line: 折线图 ⑤ pie:饼图 ⑥ scatter:散点图 ⑦ radar:雷达图 |
构造了图表对象以后,通过以下方法来设置图表的选项:
Chart.add_series(options) |
设置系列选项,options的主要字段->name:名称;categories:类别标签;values:取值列表 |
Chart.set_title(options) |
设置标题选项,options的主要字段->name:图表标题;name_font:字体属性; layout:标题布局 |
Chart.set_x_axis(options) |
设置图表的X轴选项,options的主要字段->name:x轴标题;name_font:字体属性 |
Chart.set_y_axis(options) |
设置图表的y轴选项,options的主要字段同set_x_axis方法 |
Chat.set_style(style_id) |
设置图表样式,style_id的值可查找官方问答 |
Chat.set_size(options) |
设置图表的尺寸,options的主要字段->width:宽度;height:高度 |
(8) 合并与插入图表
Chart对象提供combine方法,以合并其它图表:
Chart.combine(chart) |
将Chart对象所指向的图表与参数chart指向的图表合并 |
通过worksheet对象的insert_chart方法将图表插入到sheet:
Worksheet.insert_chart(cell, chart, options) |
参数cell表示要插入的单元格位置,chart表示待插入的图表,options为字典类型,参数格式举例:{'x_offset': 10, 'y_offset': 10}, x_offset表示水平偏移量,y_offset表示垂直偏移量 |
薯条老师的博客:http://www.chipscoco.com, 提供高质量Python,Java自学教程。系统学习后端,爬虫,数据分析,机器学习