计算机教程

当前位置:3522.com > 计算机教程 > Python XlsxWriter业务流量周报表脚本3522.com(转载)

Python XlsxWriter业务流量周报表脚本3522.com(转载)

来源:http://www.4sports-uk.com 作者:3522.com 时间:2019-06-08 11:36

安装使用pip install XlsxWriter来安装,Xlsxwriter用来创建excel表格,功能很强大,下面具体介绍:

一、使用XlsxWriter模块生成Excel表格

1.简单使用excel的实例:

安装XlsxWriter模块

#coding:utf-8
import xlsxwriter

workbook = xlsxwriter.Workbook('d:\suq\test\demo1.xlsx') #创建一个excel文件
worksheet = workbook.add_worksheet('TEST') #在文件中创建一个名为TEST的sheet,不加名字默认为sheet1

worksheet.set_column('A:A',20) #设置第一列宽度为20像素
bold = workbook.add_format({'bold':True}) #设置一个加粗的格式对象

worksheet.write('A1','HELLO') #在A1单元格写上HELLO
worksheet.write('A2','WORLD',bold) #在A2上写上WORLD,并且设置为加粗
worksheet.write('B2',U'中文测试',bold) #在B2上写上中文加粗

worksheet.write(2,0,32) #使用行列的方式写上数字32,35,5
worksheet.write(3,0,35.5) #使用行列的时候第一行起始为0,所以2,0代表着第三行的第一列,等价于A4
worksheet.write(4,0,'=SUM(A3:A4)') #写上excel公式
worksheet.insert_image('B5','f:\1.jpg') #插入一张图片

workbook.close()

pip2.7 install xlsxwriter

2.常用方法说明

官网:http://xlsxwriter.readthedocs.org/

1.Workbook类

常用方法说明:

Workbook类创建一个XlsxWriter的Workbook对象,代表整个电子表格文件,存储到磁盘上.

Workbook(filename [ options ])用于创建一个workbook对象

add_worksheet():用来创建工作表,默认为sheet1

创建一个Excel文件

add_format():创建一个新的格式对象来格式化单元格,例如bold=workbook.add_format({'bold':True})

workbook = xlsxwriter.Workbook('chart.xlsx')

还可以使用set_bold,例如:bold=workbook.add_format() bold.set_bold()

add_worksheet(sheetname)用于添加一个工作表,空号中可以指定工作表名称,默认为Sheet1

#border:边框,align:对齐方式,bg_color:背景颜色,font_size:字体大小,bold:字体加粗
top = workbook.add_format({'border':1,'align':'center','bg_color':'cccccc','font_size':13,'bold':True})

创建一个工作表对象

add_chart(options):创建一个图表对象,内部是使用insert_chart()方法来实现的,options(dict类型)为图表指定一个字典属性

worksheet = workbook.add_worksheet()

close():关闭文件

add_format([properties]) 用于创建一个新的格式对象,参数[properties]为指定一个格式属性的字典如:

2.Worksheet类

bold = workbook.add_format( { 'bold' : True } )

worksheet代表一个Excel的工作表,是XlsxWriter的核心,下面是几个核心方法

也可以通过Format methods完成格式的设置如:

write(row,col,*args):写普通数据到工作表的单元格,row行坐标,col列坐标,起始都是以0开始,*args为写入的内容,可以是字符串,文字,公式等,writer方法已经作为其它更具体数据类型方法的别名

bold = workbook.add_format()

write_string():写入字符串类型,worksheet.write_string(0,0,'your text')

bold.set_bold( )

write_number():写入数字类型,worksheet.write_number('A2',1.1)

worksheet.write(row,column,'data') 用于写入数据到指定位置的单元格row,column,坐标索引的起始位置为0

write_blank():写入空类型数据,worksheet.write_blank('A2',None)

如果用坐标表示位置的话比如(2,0) 就是 (A3);

wirte_formula():写入公式类型,worksheet.write_formula(2,0,'=SUM(B1:B5))

这就是表示在A1位置写入'hello'

write_datetime():写入日期类型数据,worksheet.write_datetime(7,0,datetime.datetime.strptime('2014-01-02','%Y-%m-%d),workbook.add_format({'num_format':'yyyy-mm-dd'}));

worksheet.write( 0 , 0 'hello' )

write_boolean():写入逻辑类数据,worksheet.write_boolean(0,0,True)

set_row ( row,height,cell_format,options ) 用于设置行单元格的属性,row为指定位置,height设置行高单位像素,cell_format指定定义好的格式对象调用,options设置行hidden(隐藏)、level(组合分级)、collapsed(折叠)操作示例如下:

write_url():写入超链接类型数据,worksheet.write_url('A1','ftp://www.python.org')

设置第1行单元格高度为40像素,并调用格式cell_format 。

write_column():写入到一列,后面接一个数组

worksheet.set_row( 0,40,cell_format )

wirte_row():写入到一行,后面接一个数组

隐藏第2行单元格

set_row(row,height,cell_format,options):此方法设置行单元格的属性,row指定行位置,height指定高度,单位是像素,cell_format

worksheet.set_row(1,None,None,{ 'hidden': True })

指定格式对象,参数options设置hiddeen(隐藏),level(组合分级),collapsed(折叠,例如:

set_column(first_col,last_col,width,cell_format,options) 用于设置一列或多列单元格属性

cell_format=workbook.add_format({'bold':True})

bold = workbook.add_format( { 'bold' : True } )

worksheet.set_row(0,40,cell_format) 设置第一行高40,加粗

设置0到1(即A到B)列单元格宽度为10像素,并调用加粗格式。

set_column(first_col,last_col,width,cell_format,options):

worksheet.set_column( 0,1,bold )

设置列单元格的属性,具体参数说明如上.worksheet.set_column(0,1,10) worksheet.set_column('C:D',20)

设置C到D列单元格宽度为20像素

insert_image(row,col,image[,options]):此方法是插入图片到指定单元格

worksheet.set_column( C:D,20 )

例如插入一个图片的超链接为www.python.org

隐藏E到G列单元格

worksheet.insert_image('B5','f:\1.jpg',{'url':'http://www.python.org'})

worksheet.set_column( E:G,None,None,{ 'hidden' : 1} )

3.Chart类

insert_image(row,col,image,[options]) 用于插入图片到指定的单元格

Chart类实现XlsxWriter模块中的图标组件的基类,支持的图表类型包括面积,条形图,柱形图,折形图,饼图,散点图,股票和雷达. 一个图表对象是通过Workbook的add_chart方法创建,通过{type,'图表类型'}字典参数指定图表的类型,语句如下:

插入图片指定图片超链接

chart = workbook.add_chart({type,'column'}) #创建一个column图表

worksheet.insert_image('B5',' img/he.jpg ',{'url':'http://python.org'} )

更多图表类型说明:

add_chart(type:图表类型) 用于创建图表对象

area:创建一个面积样式的图表;

图表样式:area面积样式、bar条形样式、column柱形样式、line线条样式、pie饼图样式、scatter散点样式、stock股票样式、radar雷达样式;

bar:创建一个条形样式的图表;

创建一个column柱形图表

column:创建一个柱形样式的图表;

chart = workbook.add_chart({ type,'column' })

line:创建一个线条样式的图表

在A5单元格插入图表

pie:创建一个饼图样式的图表

worksheet.insert_chart( 'A5',chart )

scatter:创建一个散点样式的图表

chart.add_series( )用于添加一个数据系列到图表

stock:创建一个股票样式的图表;

常用的三个选项:categories作为设置图表类别标签范围,values为设置图标数据范围,line为设置图表线条属性。

radar:创建一个雷达央视的图表

chart.add_series({

然后通过insert_chart()方法插入到指定的位置,语句如下:

'categories' : '=Sheet1!$A$1:$A$5',

'values' : '=Sheet1!$B$1:$B$5',

'line' : { 'color' : 'red' },
worksheet.insert_chart('A7',chart)

})

chart.add_series(options)方法,作用是添加一个数据系列到图表,参数options(dict类型)设置图表系列选项的字典,操作示例如下:

定制自动化业务流量报表周报

chart.add_series({
'categories':'=Sheet1!$A$$1:$A$5',
'values':'=Sheet1!$A$$1:$A$5',
'line':={'color':'red'}
})

订制网站5个频道的流量报表周报,通过XlsxWriter模块将流量数据写入Excel文档,同时自动计算各频道周平均流量,再生成数据报表。

categories,values,line最为常用,categories作用是设置图表类别标签范围;values是设置图表数据范围,line为设置图表线条属性,包括颜色宽度等.

#!/usr/local/python27/bin/python2.7

set_x_axis(options):设置图表X轴选项,例如:

#coding: utf-8

chart.set_x_axis({
'name':'EARNING per quarter',
'name_font':{'size':14,'bold':True},
'num_font':{'italic':True}
})

import sys

set_size(options):设置图表的大小,如

reload``(sys)

chart.set_size({'width':720,'height':576})

sys.setdefaultencoding(``'utf-8'``) ``#用于解决windows转linux出现的编码问题

set_title(options):设置标题,如chart.set_title({'name':'TEST TITLE'}

import xlsxwriter

set_style(style_id):设置图表样式,

workbook ``= xlsxwriter.Workbook(``'chart.xlsx'``)

set_table(options):设置x轴为数据表格式

worksheet ``= workbook.add_worksheet()

本文由3522.com发布于计算机教程,转载请注明出处:Python XlsxWriter业务流量周报表脚本3522.com(转载)

关键词: 3522.com

上一篇:golang package time的用法具体详解

下一篇:没有了