第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁(yè) 慕課教程 Python 辦公自動(dòng)化教程 Python 辦公自動(dòng)化教程 Python 操作 Excle 數(shù)據(jù)表:數(shù)據(jù)寫(xiě)入

Python 操作 Excle 數(shù)據(jù)表:數(shù)據(jù)寫(xiě)入

上節(jié)課我們學(xué)習(xí)了使用 Python 的 xlrd 模塊對(duì) Excel 表格進(jìn)行數(shù)據(jù)讀取,但是我們?cè)谄綍r(shí)的工作過(guò)程中,除了對(duì)數(shù)據(jù)進(jìn)行讀取操作外,還以后另外一項(xiàng)非常重要的內(nèi)容就是數(shù)據(jù)的寫(xiě)入。

向 Excel 中寫(xiě)入數(shù)據(jù)的應(yīng)用場(chǎng)景也是非常廣泛。如數(shù)據(jù)清洗后數(shù)據(jù)的存儲(chǔ)寫(xiě)入或多個(gè) Excel 數(shù)據(jù)合并新文件生成等等。既然有專(zhuān)門(mén)讀取數(shù)據(jù)的 xlrd 模塊,自然也有專(zhuān)門(mén)進(jìn)行數(shù)據(jù)寫(xiě)入的 xlwt 模塊。

本小節(jié)我們就來(lái)學(xué)習(xí)下 Python 第三方庫(kù) xlwt 完成對(duì) Excel 的寫(xiě)入。

1. xlwt 模塊介紹

xlwt 是一個(gè)向 Excel 文件(.xls)寫(xiě)入信息庫(kù)。支持 excel03 版到 excel2013 版,保存的格式只支持 xls 格式,07 以后的版本 xlsx 不支持。

通過(guò)本小節(jié)的學(xué)習(xí),我們最終要完成工作簿 “2019-CNY.xls” 的創(chuàng)建,其中包含兩個(gè)工作表,分別為 “CNY” 與 “image”,兩個(gè)工作表中具體內(nèi)容如下圖所示。
圖片描述

圖片描述

1.1 安裝

xlwt 是 Python 的第三方庫(kù),使用前需要通過(guò)以下命令進(jìn)行安裝:

pip install xlwt

1.2 使用步驟

步驟 1:導(dǎo)入 xlwt 模塊

通過(guò) import xlwt 完成導(dǎo)入。

import xlwt

步驟 2:創(chuàng)建工作簿

import xlwt
wb = xlwt.Workbook()

步驟 3:創(chuàng)建工作表

import xlwt
wb = xlwt.Workbook() # 創(chuàng)建一個(gè)工作簿對(duì)象
ws = wb.add_sheet("sheet1") # 使用工作簿對(duì)象創(chuàng)建一個(gè)工作表,名稱(chēng)為 sheet1

步驟 4:向工作表中寫(xiě)入數(shù)據(jù)

根據(jù) xlwt 提供的方法,完成工作表(sheet)中數(shù)據(jù)的寫(xiě)入,以及包括樣式的設(shè)置等操作。

步驟 5:生成 Excel 文件

import xlwt
wb = xlwt.Workbook()
...省略部分代碼
wb.save("data.xls") # 保存并生成 Excel 文件

通過(guò) save () 方法進(jìn)行保存,生成 Excel 文件,save () 方法也可以傳入你想要保存到的文件路徑。到這里就完成了新的工作簿創(chuàng)建和數(shù)據(jù)寫(xiě)入的操作。

2. xlwt 寫(xiě)入 Excel

接下來(lái),針對(duì) xlwt 提供的常用寫(xiě)入方法進(jìn)行講解,這里根據(jù)寫(xiě)入內(nèi)容的類(lèi)型進(jìn)行劃分。

2.1 寫(xiě)入文本

寫(xiě)入文本常用方法,見(jiàn)下表。

屬性 描述
write(r, c, label, style) 將指定單元格寫(xiě)入工作表
write_merge(r1, r2, c1, c2, label, style) 將指定合并單元格寫(xiě)入工作表

具體方法使用,如下所示:

ws = wb.add_sheet("sheet1")
ws.write(3,0,"張三")

如何確定要填入的單元格位置呢?

工作表中的行和列索引均為從 0 開(kāi)始,即行索引為 1,表示第 2 行,列索引為 2,表示第三列。起始位置從工作表中左上角位置。

通過(guò)上述代碼,可以得知在創(chuàng)建的 sheet 1 下,第 4 行第 1 列的位置寫(xiě)入了 "張三"。

ws = wb.add_sheet("sheet1")
ws.write_merge(0, 1, 0, 5, "班級(jí)學(xué)員名單", titlestyle)

通過(guò)上述代碼,可以得知在創(chuàng)建的 sheet1 下,第 1 行,第 1-5 列做了單元格合并,里面填寫(xiě)標(biāo)題內(nèi)容,且應(yīng)用 titlestyle 樣式(關(guān)于樣式如何定義在下面小節(jié)中詳細(xì)說(shuō)明)。

2.2 寫(xiě)入圖片

寫(xiě)入圖片常用方法,見(jiàn)下表。

方法 參數(shù) 描述
insert_bitmap(filename, row, col, x = 0, y = 0, scale_x = 1, scale_y = 1) 其中 filename 為文件名,row 為行索引,col 為列索引,x 為水平方向偏移位置,y 為垂直方向偏移位置,scale_x 與 scale_y 為縮放比例,默認(rèn) 1,即按 1:1 行展示 在指定位置插入圖片

對(duì)應(yīng)代碼中訪(fǎng)問(wèn),如下所示:

ws = wb.add_sheet("sheet1")
ws.insert_bitmap("user1.bmp", 0, 0)

通過(guò)上述代碼,可以得知在創(chuàng)建的 sheet1 下,第 1 行第 1 列的位置插入了 user1.bmp 圖片。

3. xlwt 格式設(shè)置

xlwt 除數(shù)據(jù)寫(xiě)入外,還可以單元格格式設(shè)置和單元格樣式設(shè)置,一共分為 6 組,包括數(shù)字格式、字體、對(duì)齊方式、邊框、填充、保護(hù)。使用步驟如下:

步驟 1:初始化樣式

import xlwt
titlestyle = xlwt.XFStyle()  # 初始化 XFStyle 對(duì)象

步驟 2:配置樣式

根據(jù)提供的屬性進(jìn)行單元格樣式設(shè)置,如字體、邊框、對(duì)齊方式設(shè)置等。

步驟 3:應(yīng)用樣式

import xlwt
titlestyle = xlwt.XFStyle()  # 初始化XFStyle對(duì)象
...省略部分代碼
ws = wb.add_sheet("sheet1")
ws.write_merge(0, 1, 0, 5, "班級(jí)學(xué)員名單", titlestyle) #應(yīng)用樣式

創(chuàng)建和配置好的 XFStyle 對(duì)象需要與寫(xiě)入方法結(jié)合使用,如上述代碼中,將創(chuàng)建好的 titlestyle 應(yīng)用到了標(biāo)題上。

xlwt 中常用格式屬性分組,見(jiàn)下表。

分組 描述
Font 關(guān)于字體相關(guān)設(shè)置,如字號(hào)、字體、加粗等
Alignment 水平和垂直對(duì)齊,文本換行,縮進(jìn),方向 / 旋轉(zhuǎn),文本方向
Borders 邊框線(xiàn)條樣式和顏色
Pattern 背景區(qū)域樣式和顏色

下面我們針對(duì)每一項(xiàng)的使用進(jìn)行單獨(dú)介紹。

3.1 Font 字體

Font 字體中常用屬性,見(jiàn)下表。

屬性 描述
name 字體名稱(chēng)
bold 字體是否 jiac
height 字號(hào)
colour_index 字體顏色

對(duì)應(yīng)代碼中訪(fǎng)問(wèn),如下所示:

titlestyle = xlwt.XFStyle()  # 初始化樣式
titlefont = xlwt.Font()
titlefont.name = "宋體"
titlefont.bold = True  # 加粗
titlefont.height = 11*20  # 字號(hào)
titlefont.colour_index = 0x08  # 字體顏色
titlestyle.font = titlefont

使用時(shí),首先通過(guò) xlwt.Font 進(jìn)行初始化,完成字體配置后,將對(duì)象賦值給 XFStyle。

Tips:上述代碼中顏色代碼不是 RGB 的六位顏色代碼,而是 xlwt 內(nèi)部的一套代碼。具體可以參考 xlwt.Styles 中 _colour_map_text 的數(shù)據(jù)。

xlwt.Styles 中 _colour_map_text 的數(shù)據(jù)如下:

aqua 0x31             black 0x08             blue 0x0C
blue_gray 0x36        bright_green 0x0B      brown 0x3C
coral 0x1D            cyan_ega 0x0F          dark_blue 0x12
dark_blue_ega 0x12    dark_green 0x3A        dark_green_ega 0x11
dark_purple 0x1C      dark_red 0x10          dark_red_ega 0x10
dark_teal 0x38        dark_yellow 0x13       gold 0x33
gray_ega 0x17         gray25 0x16            gray40 0x37
gray50 0x17           gray80 0x3F            green 0x11
ice_blue 0x1F         indigo 0x3E            ivory 0x1A
lavender 0x2E         light_blue 0x30        light_green 0x2A
light_orange 0x34     light_turquoise 0x29   light_yellow 0x2B
lime 0x32             magenta_ega 0x0E       ocean_blue 0x1E
olive_ega 0x13        olive_green 0x3B       orange 0x35
pale_blue 0x2C        periwinkle 0x18        pink 0x0E
plum 0x3D             purple_ega 0x14        red 0x0A
rose 0x2D             sea_green 0x39         silver_ega 0x16
sky_blue 0x28         tan 0x2F               teal 0x15
teal_ega 0x15         turquoise 0x0F         violet 0x14
white 0x09            yellow 0x0D

3.2 Alignment 對(duì)齊方式

對(duì)齊方式常用屬性,見(jiàn)下表。

屬性 描述
horz 水平方向?qū)R
vert 垂直方向?qū)R

對(duì)應(yīng)代碼中訪(fǎng)問(wèn),如下所示:

cellalign = xlwt.Alignment()
cellalign.horz = 0x02
cellalign.vert = 0x01
titlestyle.alignment = cellalign

使用時(shí),首先通過(guò) xlwt.Alignment 進(jìn)行初始化,完成配置后,將對(duì)象賦值給 XFStyle。

水平方向?qū)R取值范圍:

  • 0x01 (左端對(duì)齊);
  • 0x02 (水平方向上居中對(duì)齊);
  • 0x03 (右端對(duì)齊);

垂直方向?qū)R取值范圍:

  • 0x00 (上端對(duì)齊);
  • 0x01 (垂直方向上居中對(duì)齊);
  • 0x02 (底端對(duì)齊)。

3.3 Borders 邊框

邊框樣式常用屬性,見(jiàn)下表。

屬性 描述
top 上邊框
right 右邊框
bottom 下邊框
let 左邊框

對(duì)應(yīng)代碼中訪(fǎng)問(wèn),如下所示:

borders = xlwt.Borders()
borders.right = xlwt.Borders.DASHED #虛線(xiàn)
borders.bottom = xlwt.Borders.DOTTED #點(diǎn)線(xiàn)
titlestyle.borders = borders

使用時(shí),首先通過(guò) xlwt.Borders 進(jìn)行初始化,完成邊框樣式配置后,將對(duì)象賦值給 XFStyle。上述代碼即設(shè)置單元格右側(cè)邊框?yàn)樘摼€(xiàn),設(shè)置單元格下邊框?yàn)辄c(diǎn)線(xiàn)。

3.4 Pattern 填充

填充常用屬性,見(jiàn)下表。

屬性 描述
pattern 設(shè)置背景顏色的模式
pattern_fore_colour 背景顏色

對(duì)應(yīng)代碼中訪(fǎng)問(wèn),如下所示:

datestyle = xlwt.XFStyle()
bgcolor = xlwt.Pattern()
bgcolor.pattern=xlwt.Pattern.SOLID_PATTERN
bgcolor.pattern_fore_colour=22 #背景顏色
datestyle.pattern=bgcolor

上述代碼中,首先通過(guò) xlwt.Pattern 進(jìn)行初始化,為單元格設(shè)置填充背景顏色樣式,其中 xlwt.Pattern 為填充背景顏色的模式,SOLID_PATTERN 表示完全填充。完成配置后,將對(duì)象賦值給 XFStyle。

4. 小結(jié)

本節(jié)課程我們主要學(xué)習(xí)了 xlwt 模塊的使用。本節(jié)課程的重點(diǎn)如下:

  • 了解 xlwt 模塊作用及使用步驟;
  • 掌握 xlwt 模塊中寫(xiě)入文本、圖片的使用方法;
  • 掌握 xlwt 模塊中格式化單元格樣式常用屬性與方法。

圖片描述