溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python XlsxWriter模塊創(chuàng)建aexcel表格的實(shí)例講解

發(fā)布時間:2020-08-20 10:32:25 來源:腳本之家 閱讀:138 作者:久違的太陽 欄目:開發(fā)技術(shù)

安裝使用pip install XlsxWriter來安裝,Xlsxwriter用來創(chuàng)建excel表格,功能很強(qiáng)大,下面具體介紹:

1.簡單使用excel的實(shí)例:

#coding:utf-8
import xlsxwriter

workbook = xlsxwriter.Workbook('d:\\suq\\test\\demo1.xlsx') #創(chuàng)建一個excel文件
worksheet = workbook.add_worksheet('TEST') #在文件中創(chuàng)建一個名為TEST的sheet,不加名字默認(rèn)為sheet1
 
worksheet.set_column('A:A',20) #設(shè)置第一列寬度為20像素
bold = workbook.add_format({'bold':True}) #設(shè)置一個加粗的格式對象
 
worksheet.write('A1','HELLO') #在A1單元格寫上HELLO
worksheet.write('A2','WORLD',bold) #在A2上寫上WORLD,并且設(shè)置為加粗
worksheet.write('B2',U'中文測試',bold) #在B2上寫上中文加粗
 
worksheet.write(2,0,32) #使用行列的方式寫上數(shù)字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()

2.常用方法說明

1.Workbook類

Workbook類創(chuàng)建一個XlsxWriter的Workbook對象,代表整個電子表格文件,存儲到磁盤上.

add_worksheet():用來創(chuàng)建工作表,默認(rèn)為sheet1

add_format():創(chuàng)建一個新的格式對象來格式化單元格,例如bold=workbook.add_format({'bold':True})

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

#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):創(chuàng)建一個圖表對象,內(nèi)部是使用insert_chart()方法來實(shí)現(xiàn)的,options(dict類型)為圖表指定一個字典屬性

close():關(guān)閉文件

2.Worksheet類

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

write(row,col,*args):寫普通數(shù)據(jù)到工作表的單元格,row行坐標(biāo),col列坐標(biāo),起始都是以0開始,*args為寫入的內(nèi)容,可以是字符串,文字,公式等,writer方法已經(jīng)作為其它更具體數(shù)據(jù)類型方法的別名

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

write_number():寫入數(shù)字類型,worksheet.write_number('A2',1.1)

write_blank():寫入空類型數(shù)據(jù),worksheet.write_blank('A2',None)

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

write_datetime():寫入日期類型數(shù)據(jù),worksheet.write_datetime(7,0,datetime.datetime.strptime('2014-01-02','%Y-%m-%d),workbook.add_format({'num_format':'yyyy-mm-dd'}));

write_boolean():寫入邏輯類數(shù)據(jù),worksheet.write_boolean(0,0,True)

write_url():寫入超鏈接類型數(shù)據(jù),worksheet.write_url('A1','ftp://www.python.org')

write_column():寫入到一列,后面接一個數(shù)組

wirte_row():寫入到一行,后面接一個數(shù)組

set_row(row,height,cell_format,options):此方法設(shè)置行單元格的屬性,row指定行位置,height指定高度,單位是像素,cell_format

指定格式對象,參數(shù)options設(shè)置hiddeen(隱藏),level(組合分級),collapsed(折疊,例如:

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

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

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

設(shè)置列單元格的屬性,具體參數(shù)說明如上.worksheet.set_column(0,1,10) worksheet.set_column('C:D',20)

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

例如插入一個圖片的超鏈接為www.python.org

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

3.Chart類

Chart類實(shí)現(xiàn)XlsxWriter模塊中的圖標(biāo)組件的基類,支持的圖表類型包括面積,條形圖,柱形圖,折形圖,餅圖,散點(diǎn)圖,股票和雷達(dá). 一個圖表對象是通過Workbook的add_chart方法創(chuàng)建,通過{type,'圖表類型'}字典參數(shù)指定圖表的類型,語句如下:

chart = workbook.add_chart({type,'column'}) #創(chuàng)建一個column圖表

更多圖表類型說明:

area:創(chuàng)建一個面積樣式的圖表;

bar:創(chuàng)建一個條形樣式的圖表;

column:創(chuàng)建一個柱形樣式的圖表;

line:創(chuàng)建一個線條樣式的圖表

pie:創(chuàng)建一個餅圖樣式的圖表

scatter:創(chuàng)建一個散點(diǎn)樣式的圖表

stock:創(chuàng)建一個股票樣式的圖表;

radar:創(chuàng)建一個雷達(dá)央視的圖表

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

worksheet.insert_chart('A7',chart)

chart.add_series(options)方法,作用是添加一個數(shù)據(jù)系列到圖表,參數(shù)options(dict類型)設(shè)置圖表系列選項(xiàng)的字典,操作示例如下:

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

categories,values,line最為常用,categories作用是設(shè)置圖表類別標(biāo)簽范圍;values是設(shè)置圖表數(shù)據(jù)范圍,line為設(shè)置圖表線條屬性,包括顏色寬度等.

set_x_axis(options):設(shè)置圖表X軸選項(xiàng),例如:

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

set_size(options):設(shè)置圖表的大小,如

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

set_title(options):設(shè)置標(biāo)題,如chart.set_title({'name':'TEST TITLE'}

set_style(style_id):設(shè)置圖表樣式,

set_table(options):設(shè)置x軸為數(shù)據(jù)表格式

下面是一個創(chuàng)建文件系統(tǒng)使用率的實(shí)例:

#coding:utf-8
 
import xlsxwriter
 
workbook = xlsxwriter.Workbook('d:\\suq\\test\\demo1.xlsx') #創(chuàng)建一個excel文件
worksheet = workbook.add_worksheet('sheet1') #在文件中創(chuàng)建一個sheet
#border:邊框,align:對齊方式,bg_color:背景顏色,font_size:字體大小,bold:字體加粗 
top=workbook.add_format({'border':6,'align':'center','bg_color':'cccccc','font_size':13,'bold':True}) #設(shè)置單元格格式
title=[u'文件系統(tǒng)',u'總?cè)萘?,u'使用大小',u'剩余大小'] #設(shè)置第一行標(biāo)題信息
buname=['/dev/mapper/vg_basic-lv_root','tmpfs','/dev/sda1'] #設(shè)置左邊第一排信息
 
worksheet.write_row('A1',title,top)
worksheet.write_column('A2',buname,top)
worksheet.set_column('A:D',40) #A到D列設(shè)置寬度,寬度設(shè)置必須是整列設(shè)置,高度必須是整行設(shè)置
#worksheet.set_row(0,40) #設(shè)置第一行高度為40像素
format_data=workbook.add_format({'align':'center','font_size':13}) #設(shè)置單元格格式
 
data=[[17678,4393,12388],[9768,8900,868],[24285,2715,21000]] #模擬文件系統(tǒng)的數(shù)據(jù),data[0],[1],[2]分別表示全部空間,使用空間,剩余空間
worksheet.write_row('B2',data[0],format_data) #將數(shù)據(jù)寫入,這里安裝整行寫入
worksheet.write_row('B3',data[1],format_data)
worksheet.write_row('B4',data[2],format_data)
 
chart=workbook.add_chart({'type':'column'}) #創(chuàng)建表格,表格類型為column
chart.set_title({'name':u'文件系統(tǒng)使用率'}) #設(shè)置表格的title
for i in ['B','C','D']:
chart.add_series({
'categories': 'sheet1!$A$2:$A$4',
'values':'sheet1!$'+i+'$2:$'+i+'$4',
'name':'=sheet1!$'+i+'$1'
})
#注意上面的表格中,每一行的數(shù)據(jù)在圖中會顯示在一起,也就是說values為B2:B4
 
chart.set_size({'width':800,'height':500}) #設(shè)置表格的大小
chart.set_y_axis({'name': 'MB'}) #設(shè)置表格y軸信息
#chart.set_style(33) #設(shè)置表格的樣式
worksheet.insert_chart('A8',chart) #插入表格
workbook.close()

顯示的圖片結(jié)果如下:

python XlsxWriter模塊創(chuàng)建aexcel表格的實(shí)例講解

以上這篇python XlsxWriter模塊創(chuàng)建aexcel表格的實(shí)例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI