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()
生成图表如下图
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:雷达图