python学习-xlsxwriter模块,python-xlsxwriter,Xlsx是pytho


Xlsx是python用来构造xlsx文件的模块,可以向excel2007+中写text,numbers,formulas 公式以及hyperlinks超链接。

可以完成xlsx文件的自动化构造,包括:

合并单元格,制作excel图表等功能:

技术分享图片

importxlsxwriter#CreateannewExcelfileandaddaworksheet.workbook=xlsxwriter.Workbook('demo.xlsx')#创建工作簿worksheet=workbook.add_worksheet()#创建工作表#Widenthefirstcolumntomakethetextclearer.worksheet.set_column('A:A',20)#设置一列或者多列单元属性#Addaboldformattousetohighlightcells.bold=workbook.add_format({'bold':True})#在工作表中创建一个新的格式对象来格式化单元格,实现加粗#Writesomesimpletext.worksheet.write('A1','Hello')#工总表写入简单文本#Textwithformatting.worksheet.write('A2','World',bold)#工作表写入带有格式的文本,加粗#Writesomenumbers,withrow/columnnotation.#按照坐标写入worksheet.write(2,0,123)worksheet.write(3,0,123.456)#Insertanimage.worksheet.insert_image('B5','logo.png')#插入图片workbook.close()#关闭工作薄

方法详细解释:

1.workbook类


定义:Workbook(filename[,options])

该类创建一个XlsxWriter的Workbook对象。Workbook代表整个电子表格文件,并且存储在磁盘上。filename为字符串类型,表示创建的excel文件存储路径;

options:为dict类型,是可选参数,一般作为初始化工作表内容格式

add_worksheet

add_worksheet([sheetname])方法,用于添加一个新的工作表,sheetname为工作表名称,默认是sheet1,例如:

worksheet1=workbook.add_worksheet()#sheet1worksheet2=workbook.add_worksheet('test')#testworksheet3=workbook.add_worksheet('data')#dataworksheet4=workbook.add_worksheet()#sheet4

add_format

add_format([properties])方法,用于在工作表中创建一个新的格式对象来格式化单元格

properties:为dict类型,为指定一个格式属性的字典

例如设置一个加粗的格式对象如下:

bold=workbook.add_format({'bold':True})等价的语句如下:bold=workbook.add_format()bold.set_bold()

add_chart

add_chart(options)方法,用于在工作表中创建一个图表对象,内部是通过insert_chart()方法来实现的,参数为dict类型,是为图标指定一个字典属性。

例如设置一个线条行的图表对象,代码如下:

chart=workbook.add_chart({'type':'line'})1

close

close()方法,作用是关闭工作表文件,如:

workbook.close()


2.Worksheet类

代表一个excel工作表,是比较核心的一个类。Worksheet对象不能直接实例化,而是通过Workbook对象调用add_worksheet()方法来创建,常见的方法如下:

write

write(row, col, *args)方法:是用来将普通数据写入单元格中。

row:行坐标;col:列坐标;坐标索引起始值为0*args:无名字参数为数据内容,可为数字,公式,字符串或格式对象

为了简化不同数据类型的写入过程,write方法已作为其他更加具体的数据类型方法的别名,如:

write.string():写入字符串类型数据wirte_number():写入数字型数据write_blank():写入空类型数据write_formula():写入公式型数据write_datetime():写入日期型数据wirte_boolean():写入逻辑型数据write_url():写入超链接型数据


set_row

set_row(row, height, cell_format, options)方法,用于设定行单元格的属性。

row:指定行位置,起始下标为0;height:为float类型,设定行高,单位像素;cell_format:format类型,指定对象格式;options,字典类型,设置行hidden(隐藏)、level(组合分级)、collpsed(折叠)

示例如下:

worksheet2.write('A1','hello')bold=workbook.add_format({'bold':True})#设定A1行高40,加粗worksheet2.set_row(0,40,bold)#隐藏第二行worksheet2.set_row(1,None,None,{'hidden':True})

set_column

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

first_col:整型,指定开始列位置,起始下标为0;last_col:整型,指定结束列位置,起始下标为0;width:float类型,设置列宽;cell_format:format类型,指定格式对象;options:dict类型,设置hidden(隐藏)、level(组合分级)、collpsed(折叠);


示例如下:

worksheet2.write('A1','hello')worksheet2.write('B1','world')bold=workbook.add_format({'bold':True})#设定列A到B单元格宽度10像素,加粗worksheet2.set_column(0,1,10,bold)#设置C到D单元格宽度20像素worksheet2.set_column('C:D',20)隐藏E到G单元格worksheet2.set_column('E:G',None,None,{'hidden':1})

insert_image

insert_image(row, col, image[, options])方法,用于插入图片到指定的单元格,支持PNG,JPEG,BMP等多种格式。

row:行坐标,起始索引值为0;col:列坐标,起始索引值为0;image:string类型,是图片路径;options:dict类型,是可选参数,用于指定图片位置,如URL等信息;

示例如下:

#在B5单元格插入python-logo.png图片,超链接为http://python.orgworksheet1.insert_image('B5','img/python-logo.png',{'url':'http://python.org'})12

chart类

chart类实图表组件,支持包括面积、条形图、柱状图、折线图、散点图等,一个图表对象是通过Workbook的add_chart方法创建,通过{type, ‘图表类型’}字典来制定图表类型,示例如下:

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

常见的图表样式如下:

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

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

几个常用方法如下:

add_series

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

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

add_series的常用三个选项:

categories:设置图表类别标签范围;values:设置图表数据范围;line:设置图表线条属性,包括宽度、颜色等;

set_x_axis

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

chart.set_x_axis({'name':'xname','name_font':{'size':14,'bold':True}'num_font':{'italic':True}})12345name:设置x轴名称;name_font:设置x轴字体;num_font:设置x轴数字字体属性;

set_size

set_size(options)方法,用于设置图表大小,示例如下:

chart.set_size({'width':720,'height':576})1
width:设置宽度;height:设置高度;

set_title

set_title(options)方法,设置图表标题,示例如下:

chart.set_title({'name':'test'})1

set_style

set_style(style_id)方法,用于设置图表样式,style_id为不同数字代表不同样式,示例如下:

chart.set_style(37)1

set_table

set_table(options)方法,设置x轴为数据表格式。示例如下:

chart.set_table()


python学习-xlsxwriter模块

相关内容

    暂无相关文章

评论关闭