python学习笔记(xlsxwriter模块使用)

时间:2024-02-21 21:11:49

 

 

1、xlsxwriter模块的简单使用:

     xlsxwriter模块主要用来生成excel表格,插入数据、插入图标等表格操作。

     1.1 基本功能

import xlsxwriter   #导入模块

workbook = xlsxwriter.Workbook(\'new_excel.xlsx\')     #新建excel表

worksheet = workbook.add_worksheet(\'sheet1\')       #新建sheet(sheet的名称为"sheet1")

headings = [\'Number\',\'testA\',\'testB\']     #设置表头

data = [
    [\'2017-9-1\',\'2017-9-2\',\'2017-9-3\',\'2017-9-4\',\'2017-9-5\',\'2017-9-6\'],
    [10,40,50,20,10,50],
    [30,60,70,50,40,30],
]                                                              #自己造的数据



worksheet.write_row(\'A1\',headings)

worksheet.write_column(\'A2\',data[0])
worksheet.write_column(\'B2\',data[1])
worksheet.write_column(\'C2\',data[2])                   #将数据插入到表格中


workbook.close()          #将excel文件保存关闭,如果没有这一行运行代码会报错

  查看生成excel的结果:

        

   1.2 将excel中插入折线图     

 1 import xlsxwriter                     #导入模块
 2 
 3 workbook = xlsxwriter.Workbook(\'new_excel.xlsx\')   #创建新的excel
 4 
 5 worksheet = workbook.add_worksheet(\'sheet1\')        #创建新的sheet
 6 
 7 headings = [\'Number\',\'testA\',\'testB\']             #创建表头
 8 
 9 data = [
10     [\'2017-9-1\',\'2017-9-2\',\'2017-9-3\',\'2017-9-4\',\'2017-9-5\',\'2017-9-6\'],
11     [10,40,50,20,10,50],
12     [30,60,70,50,40,30],
13 ]                                                       #自己造的数据
14 
15 worksheet.write_row(\'A1\',headings)
16 
17 worksheet.write_column(\'A2\',data[0])
18 worksheet.write_column(\'B2\',data[1])
19 worksheet.write_column(\'C2\',data[2])                    #将数据插入到表格中
20 
21 chart_col = workbook.add_chart({\'type\':\'line\'})        #新建图表格式 line为折线图
22 chart_col.add_series(                                   #给图表设置格式,填充内容
23     {
24         \'name\':\'=sheet1!$B$1\',
25         \'categories\':\'=sheet1!$A$2:$A$7\',
26         \'values\':   \'=sheet1!$B$2:$B$7\',
27         \'line\': {\'color\': \'red\'},
28     }
29 )
30 
31 chart_col.set_title({\'name\':\'测试\'})
32 chart_col.set_x_axis({\'name\':"x轴"})
33 chart_col.set_y_axis({\'name\':\'y轴\'})          #设置图表表头及坐标轴
34 
35 chart_col.set_style(1)
36 
37 worksheet.insert_chart(\'A10\',chart_col,{\'x_offset\':25,\'y_offset\':10})   #放置图表位置
38 
39 workbook.close()
View Code

   生成图表如下图

    

 2、xlsxwriter模块常用功能介绍:

 2.1、设置单元格的格式:

 2.1.1、通过字典的方式直接设置格式。          

1 workfomat = workbook.add_format({
2     \'bold\':  True,                 #字体加粗
3     \'border\':1,                    #单元格边框宽度
4     \'align\':    \'center\',          #对齐方式
5     \'valign\':   \'vcenter\',         #字体对齐方式
6     \'fg_color\': \'#F4B084\',         #单元格背景颜色
7 })

2.1.2、通过format对象的方式设置单元格格式。

1 workfomat = workbook.add_format()
2 workfomat.set_bold(1)                #设置边框宽度
3 workfomat.set_num_format(\'0.00\')     #格式化数据格式为小数点后两位
4 workfomat.set_align(\'center\')        #设置对齐方式
5 workfomat.set_fg_color(\'blue\')       #设置单元格背景颜色
6 workfomat.set_bg_color(\'red\')        #设置单元格背景颜色 (经测试和上边的功能一样)

2.1.3、一些单元表的操作,像这样的操作还有好多,可以根据自己的需要去进行研究。

1 worksheet.merge_range(\'D1:D7\',\'合并单元格\')        #合并单元格
2 worksheet.set_tab_color(\'red\')                      #设置sheet标签颜色
3 worksheet.set_column(\'A:D\',25)                      #设置A到D列的列宽为25
4 worksheet.write_formula(\'E2\',\'=B2/C2\')             #设置表格中的计算,‘E2’是计算结果,\'=B2/C2\'是计算公式

2.2、常用图表类型:

1 #area:面积图
2 #bar:直方图
3 #colume:柱状图
4 #line:折线图
5 #pie:饼图
6 #doughnut:环形图
7 #sactter:散点图
8 #stock:股票趋势图
9 #radar:雷达图