python資料包表之excel操作模組常用方法
展開一 workbook類
1 點睛
workbook類定義:workbook(filename[,options]),該類實現建立乙個xlsxwriter的workbook物件。
workbook類代表整個電子**文 件,並且儲存在磁碟上。
filename(string型別)為建立的excel檔案 儲存路徑;
options(dict型別)為可選的workbook引數,一般作為初始化工作表內容格式,例如值為表示使用 worksheet.write()方法時啟用字串轉換數字。
2 add_worksheet([sheetname])
2.1 點睛
作用是新增乙個新的工作 表,引數sheetname(string型別)為可選的工作表名稱,預設為sheet1。
2.2 **
#coding: utf-8
import xlsxwriter
#建立乙個excel檔案
workbook = xlsxwriter.workbook('demo2.xlsx')
worksheet1 = workbook.add_worksheet() # sheet1
worksheet2 = workbook.add_worksheet('foglio2') # foglio2
worksheet3 = workbook.add_worksheet('data') # data
worksheet4 = workbook.add_worksheet() # sheet4
#關閉excel檔案
workbook.close()
2.3 效果
3 add_format([properties])
3.1 點睛
作用是在工作表中建立乙個新的格式物件來格式化單元格。
引數properties(dict型別)為指定乙個格式屬性的字典,例如設定乙個加粗的格式物件, workbook.add_format()。
通過format methods(格式化方法)也可以實現格式的設定,等價的設定加粗格式**如下:
bold = workbook.add_format()
bold.set_bold()
更多格式化方法見
3 add_chart(options)
3.1 點睛
作用是在工作表中建立乙個圖表物件,內部是通過insert_chart()方法來實現,引數options(dict型別)為圖表指定乙個字典屬性,例如設定乙個線條型別的圖表物件,**為
chart=workbook.add_chart()
4 close()
作用是關閉工作表檔案,如workbook.close()。
二 worksheet類
1 點睛
worksheet類代表了乙個excel工作表,是xlsxwriter模組操作excel內容最核心的乙個類,例如將資料寫入單元格或工作**式布局等。 worksheet物件不能直接例項化,取而代之的是通過workbook物件呼叫 add_worksheet()方法來建立。worksheet類提供了非常豐富的操作 excel內容的方法。
2 write(row,col,*args)
作用是寫普通資料到工作表的單 元格,引數row為行座標,col為列座標,座標索引起始值為0;*args無名字引數為資料內容,可以為數字、公式、字串或格式物件。
3 write_string()
寫入字串型別資料,例如:worksheet.write_string(0, 0, 'your text here')
4 write_number()
寫入數字型別資料,例如:worksheet.write_number('a2', 2.3451)
5 write_blank()
寫入空型別資料,例如:worksheet.write('a2', none)
6 write_formula()
寫入公式型別資料,例如:worksheet.write_formula(2, 0, '=sum(b1:b5)')
7 write_datetime()
寫入日期型別資料,例如:worksheet.write_datetime(7, 0,datetime.datetime.strptime('2013-01-23', '%y-%m-%d'),workbook.add_format())
8 write_boolean()
寫入邏輯型別資料,例如:worksheet.write_boolean(0, 0, true)
9 write_url()
10 實戰
10.1 **
#coding: utf-8
import xlsxwriter
import math
#建立乙個excel檔案
workbook = xlsxwriter.workbook('demo3.xlsx')
worksheet = workbook.add_worksheet() # sheet
worksheet.write(0,0, 'hello') # write_string()
worksheet.write(1,0,'world') # write_string()
worksheet.write(2, 0, 2) # write_number()
worksheet.write(3, 0, 3.00001) # write_number()
worksheet.write(5, 0, '') # write_blank()
worksheet.write(6, 0, none) # write_blank()
#關閉excel檔案
workbook.close()
10.2 結果
11 set_row(row,height,cell_format,options)
作用是設定行單元格的屬性。
row(int型別)指定行位置,起始下標為0;
height(float型別)設定行高,單位畫素;
cell_format(format型別)指定格式物件;
options(dict型別)設定行hidden(隱藏)、 level(組合分級)、collapsed(摺疊)。
11.1 **
#coding: utf-8
import xlsxwriter
import math
#建立乙個excel檔案
workbook = xlsxwriter.workbook('demo4.xlsx')
worksheet = workbook.add_worksheet() # sheet1
worksheet.write('a1','hello') #在a1單元格寫入'hello'字串
cell_format = workbook.add_format() #定義乙個加粗的格式物件
worksheet.set_row(0, 40, cell_format) #設定第1行單元格高度為40畫素,且引用加粗格式物件
worksheet.set_row(1,none,none,) #隱藏第2行單元格
#關閉excel檔案
workbook.close()
11.2 結果
12 set_column(first_col,last_col,width,cell_format,options)
作用為設定一列或多列單元格屬性。
first_col(int型別)指定 開始列位置,起始下標為0;
last_col(int型別)指定結束列位置, 起始下標為0,可以設定成與first_col一樣;
width(float型別)設定 列寬;
cell_format(format型別)指定格式物件;
options(dict 型別)設定行hidden(隱藏)、level(組合分級)、collapsed(折 疊)。
12.1 **
#coding: utf-8
import xlsxwriter
import math
#建立乙個excel檔案
workbook = xlsxwriter.workbook('demo5.xlsx')
worksheet = workbook.add_worksheet() # sheet1
worksheet.write('a1','hello') #在a1單元格寫入'hello'字串
worksheet.write('b1', 'world') #在b1單元格寫入'world'字串
# 定義乙個加粗的格式物件
cell_format = workbook.add_format()
# 設定0到1即(a到b) 列單元格寬度為10畫素,且引用加粗格式物件
worksheet.set_column(0,1,10,cell_format)
worksheet.set_column('c:d',20) #設定c到d列單元格寬度為20畫素
worksheet.set_column('e:g',none,none,) #隱藏e到g列單元格
#關閉excel檔案
workbook.close()
12.2 結果
13 insert_image(row,col,image[,options])
作用是插入到指定單元格,支援png、jpeg、bmp等格式。
row為行座標,
col為列座標,座標索引起始值為0;
引數image(string型別)為路徑;
交叉資料包表
有時候需要旋轉結果以便在水平方向顯示列,而在垂直方向顯示行。這就是所謂的建立 pivottable 建立交叉資料包表或旋轉資料。假定有乙個表pivot,其中每季度佔一行。對pivot的 select 操作在垂直方向上列出這些季度 year quarter amount 1990 1 1.1 1990...
交叉資料包表
有時候需要旋轉結果以便在水平方向顯示列,而在垂直方向顯示行。這就是所謂的建立 pivottable 建立交叉資料包表或旋轉資料。假定有乙個表pivot,其中每季度佔一行。對pivot的 select 操作在垂直方向上列出這些季度 year quarter amount 1990 1 1.1 1990...
交叉資料包表
ql交叉資料包表 有時候需要旋轉結果以便在水平方向顯示列,而在垂直方向顯示行。這就是所謂的建立 pivottable?建立交叉資料包表或旋轉資料。假定有乙個表 pivot,其中每季度佔一行。對 pivot 的 select 操作在垂直方向上列出這些季度 year quarter amount 199...