1. 程式人生 > >Python操作Excel表格,xlwt模塊的使用

Python操作Excel表格,xlwt模塊的使用

數字 文章 原來 odi mage mil 如果 讀寫 ria

Python可以操作Excel的模塊不止一種,我習慣使用的寫入模塊是xlwt(一般都是讀寫模塊分開的)

按照模塊使用pip install xlwt 就行了,很常規的方式

直接進代碼解析,本文源碼

wk = xlwt.Workbook(encoding="utf-8")
sheet_test = wk.add_sheet("test")

第一句:創建一個工作簿,設置編碼格式為“utf-8”,默認格式是ASCII,為了方便寫入中文,一般都要設置成UTF-8

第二句:向工作簿中添加一個sheet表格,設置表格名稱是‘test‘

wk.save("xlwt_test.xls")

保存:如果表格什麽也不做,也可以直接保存,直接輸入上面的代碼,就創建了一個空的表格。

當然,既然創建表格當然是為了寫入信息,所以這保存表格之前可以進行什麽操作呢?

來看看吧

for c in range(5):
  sheet_test.col(c).width = 256 * 20 

上述代碼是設置了列寬

col()代表的就是列,參數是指定的列,第一列是從0開始;width就是列的寬度,後面256*20表示的是字符數,20代表20個字符

font = xlwt.Font()
# font.name = "Arial"    #字體名稱
# font.bold = True  # 字體加粗
font.height = 20 * 11  # 字體決定了行高,後面一個數字可以決定字體
font.colour_index = 2
style_1 = xlwt.XFStyle()
style_1.font =font

上述代碼是先設置了一個字體,字體的屬性有名稱,是否加粗,字號和顏色等

然後添加一個風格樣式style_1,將樣式的字體設置成上面設置好的字體樣式

sheet_test.write(0,0,"字體顏色代號{}".format(fsize),style_1)

曬黑寫入信息到表格的函數是write()

第一個參數是行,從0開始

第二個參數是列,從0開始

第三個參數是寫入的字符串對象

第四個參數可以選擇是否添加,就是樣式風格了,可以把之前設置好的樣式添加進去,信息就會按照樣式來寫入了

patterni = xlwt.Pattern()
patterni.pattern = xlwt.Pattern.SOLID_PATTERN
patterni.pattern_fore_colour = 4
style_2 = xlwt.XFStyle()
style_2.pattern = patterni

當然,樣式不止有字體,還有背景色和邊框等,上述代碼是用來設置背景色的,顏色的代號可以參見文章給的鏈接

style_3 = xlwt.easyxf("font: name Times New Roman,color-index 20,bold on")

還有一種快捷的設置風格的方式,上述代碼設置了一些字體風格,暫時沒有找到設置背景色的,以後如果找到可以更新過來

具體的字體顏色和背景色代號可以參看圖片,這是源代碼輸出的測試表格截圖

技術分享技術分享

技術分享

sheet_test.insert_bitmap("gakki.bmp",i,3,2,2,0.1,0.1)

然後看一下向表格中插入圖片的方式(不過感覺這個方式很雞肋,沒什麽用,為什麽這麽說呢,看代碼的註釋)

insert_bitmap(img, x, y, x1, y1, scale_x=0.1, scale_y=2)

img表示要插入的圖像地址

x表示行,y表示列

x1,y1表示相對原來位置向下向右偏移的像素

scale_x,y表示相對原圖寬高的比例,圖片可放大縮小

最重點的是,圖片格式必須是bmp格式才能插入成功,是不是很雞肋?!!!

    # 合並單元格測試
    ‘‘‘
    write_merge(x, x + h, y, w + y, string, sytle)
    x表示行,y表示列,w表示跨列個數,h表示跨行個數,string表示要寫入的單元格內容,style表示單元格樣式
    註意,x,y,w,h,都是以0開始計算的
    ‘‘‘
    sheet_test.write_merge(0,0+3,4,4+3,"合並測試")

接下來是Excel很有用的合並單元格操作了,註釋解釋了這個用法

以上就是一般寫入Excel的操作,記住,寫入了信息最後一定要保存表格才行。

Python操作Excel表格,xlwt模塊的使用