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

首頁 慕課教程 Python 辦公自動化教程 Python 辦公自動化教程 Python 操作 Excle 數(shù)據(jù)表:數(shù)據(jù)寫入

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

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

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

本小節(jié)我們就來學(xué)習(xí)下 Python 第三方庫 xlwt 完成對 Excel 的寫入。

1. xlwt 模塊介紹

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

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

圖片描述

1.1 安裝

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

pip install xlwt

1.2 使用步驟

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

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

import xlwt

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

import xlwt
wb = xlwt.Workbook()

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

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

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

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

步驟 5:生成 Excel 文件

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

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

2. xlwt 寫入 Excel

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

2.1 寫入文本

寫入文本常用方法,見下表。

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

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

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

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

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

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

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

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

2.2 寫入圖片

寫入圖片常用方法,見下表。

方法 參數(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 行展示 在指定位置插入圖片

對應(yīng)代碼中訪問,如下所示:

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

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

3. xlwt 格式設(shè)置

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

步驟 1:初始化樣式

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

步驟 2:配置樣式

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

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

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

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

xlwt 中常用格式屬性分組,見下表。

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

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

3.1 Font 字體

Font 字體中常用屬性,見下表。

屬性 描述
name 字體名稱
bold 字體是否 jiac
height 字號
colour_index 字體顏色

對應(yīng)代碼中訪問,如下所示:

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

使用時,首先通過 xlwt.Font 進(jìn)行初始化,完成字體配置后,將對象賦值給 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 對齊方式

對齊方式常用屬性,見下表。

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

對應(yīng)代碼中訪問,如下所示:

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

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

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

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

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

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

3.3 Borders 邊框

邊框樣式常用屬性,見下表。

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

對應(yīng)代碼中訪問,如下所示:

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

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

3.4 Pattern 填充

填充常用屬性,見下表。

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

對應(yīng)代碼中訪問,如下所示:

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

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

4. 小結(jié)

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

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

圖片描述