久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

“表格讀取神器”,,xlrd讀取Excel內(nèi)容——python自動(dòng)辦公8

 yaohbsg 2020-07-24

在前面那么多的基礎(chǔ)知識(shí)鋪墊之后,,今天,文章內(nèi)容正式進(jìn)入實(shí)際操作階段,。首先要講的是辦公三巨頭中之Excel表格,。Excel表格可能是職場(chǎng)辦公中使用頻率最高的工具,只要是辦公中一切跟數(shù)字計(jì)算,,信息匯總等相關(guān)的工作,,一定會(huì)用到Excel。也正是因?yàn)槿绱?,Excel的重復(fù)操作也是最多的,,大量不同表格中的計(jì)算操作都要用鼠標(biāo)點(diǎn)點(diǎn)點(diǎn),很是煩人,。不知道大家有沒有思考過,,其實(shí)Excel的本質(zhì)從數(shù)學(xué)的角度上看,就是一個(gè)巨大的矩陣,,表格中的一個(gè)單元格就是矩陣中的一個(gè)元素,,每一個(gè)計(jì)算操作都可以通過計(jì)算矩陣而得到結(jié)果。而在計(jì)算機(jī)上,,使用python操作矩陣計(jì)算又是非常簡(jiǎn)單和快速的,。好了,咱們閑話不多說,下面正式開始干貨學(xué)習(xí),。

表格的本質(zhì)

在開頭,,咱們先對(duì)Excel表格的形式層級(jí)做一個(gè)明確的劃分。一個(gè)Excel表格在office軟件中的學(xué)名叫做一個(gè)工作簿,。一個(gè)工作簿中又有多個(gè)工作表,,即不同的sheet頁。一個(gè)工作表中就是我們具體操作的單元格,,每個(gè)單元格有自己的編號(hào),,A1,A2,,A3....,。這個(gè)劃分層級(jí)一定要搞清楚,在使用python代碼操作表格的時(shí)候,,經(jīng)常需要在這幾個(gè)概念中切換,。

“表格讀取神器”,xlrd讀取Excel內(nèi)容——python自動(dòng)辦公8

Excel表格層級(jí)劃分

使用python操作Excel表格需要用到庫是xlrd和xlwt,。在進(jìn)入代碼編輯器寫代碼前,,一定要先安裝好這兩個(gè)第三方庫,如果這個(gè)還不會(huì)的話,,請(qǐng)看我的上一篇文章,,里面講的很清楚。

1.讀取Excel工作簿

首先,,使用import導(dǎo)入已經(jīng)安裝好的xlrd和xlwt兩個(gè)庫,。接下來就是要告訴代碼你的表格文件在什么地方,它才能夠去操作,。具體使用open_workbook來打開工作簿,,代碼如下:

import xlrd, xlwt xlsx = xlrd.open_workbook('D:/Excel表格/示例表格.xlsx') # 我的表格文件在D盤下Excel文件夾中,名字叫示例表格 # 注意文件路徑中使用的是反斜桿/,,windows系統(tǒng)使用斜桿\容易產(chǎn)生轉(zhuǎn)義

open_workbook()是xlrd庫中的一個(gè)函數(shù),,它接收的參數(shù)就是你Excel表格的文件地址,記得要帶上后綴,。這個(gè)函數(shù)返回讀到的Excel表格對(duì)象,,這里xlsx就是讀到的表格對(duì)象。

2.讀取sheet工作表

接下來選擇工作薄中要操作的工作表,,具體有兩種方式進(jìn)行操作,,代碼如下:

import xlrd, xlwt

xlsx = xlrd.open_workbook('D:/Excel表格/示例表格.xlsx')
table = xlsx.sheet_by_index(0) #通過sheet的索引選擇
#第二種方式
table = xlsx.sheet_by_name('sheet1') #通過sheet的名稱選擇

第一種方式使用索引選擇,索引從0開始,,第一個(gè)sheet是0,,第二個(gè)sheet是1,,以此類推,。第二種是通過sheet名稱來選擇,,參數(shù)里直接給sheet的名稱。通過名稱選擇有些時(shí)候可能會(huì)因?yàn)橹形木幋a的問題而出錯(cuò),,所以這里還是推薦使用索引選擇,。

3.讀取單元格

最后到讀取工作表中具體的單元格,有三種不同的讀取形式,。這里要注意的是單元格的坐標(biāo),,第幾行第幾列都是從0開始計(jì)數(shù)的,如紅數(shù)字標(biāo)識(shí),。以下面的這個(gè)表格內(nèi)容為例,,用具體的代碼演示。

“表格讀取神器”,,xlrd讀取Excel內(nèi)容——python自動(dòng)辦公8

表格內(nèi)容

import xlrd, xlwt xlsx = xlrd.open_workbook('D:/Excel表格/示例表格.xlsx') table = xlsx.sheet_by_index(0) #通過sheet的索引選擇 value1 = table.cell_value(1,2) #cell_value參數(shù)中第一個(gè)是行,,第二個(gè)是列 print(value1) #輸出 胡明和 value2 = table.cell(4,1).value #第二種寫法,行列參數(shù)一樣 print(value2) #輸出 張迪 value3 = table.row(8)[1].value #第三種寫法 print(value3) #輸出 張明

以上三種方式寫法不同,,但是實(shí)現(xiàn)的讀取功能是一樣的,。

4.讀取行或列內(nèi)容

看到這里,有人可能就要問了,,這里讀取每次只能讀取一個(gè)單元格,,如果我要進(jìn)行一整行的讀取或者一整列的讀取怎么辦?

“表格讀取神器”,,xlrd讀取Excel內(nèi)容——python自動(dòng)辦公8

表格內(nèi)容

別急,,這也是可以進(jìn)行操作的。還是用上面的表格內(nèi)容,,代碼示例如下:

import xlrd, xlwt

xlsx = xlrd.open_workbook('D:/Excel表格/示例表格.xlsx')
table = xlsx.sheet_by_index(0) #通過sheet的索引選擇
h1 = table.row_values(3) #返回由第4行中所有單元格的數(shù)據(jù)組成的列表
print(h1)
#輸出 ['建筑系', '李偉', '男', '科研', '副教授', 1180.0]

h11 = table.row_values(3, 2, 5) #返回由第4行中第25列(不包括5)單元格的數(shù)據(jù)組成的列表
print(h11)
#相當(dāng)于讀取整行時(shí)還進(jìn)行列的切片
#輸出 ['男', '科研', '副教授']

v1 = table.col_values(5) #返回由第6列中所有單元格的數(shù)據(jù)組成的列表
print(v1)
#輸出 ['補(bǔ)貼', 1520.0, 1200.0, 1180.0, 1680.0, 1700.0, 960.0, 1020.0, 1160.0, 1200.0, 1180.0, 960.0, 1020.0, 1770.0, 1650.0]

v11 = table.col_values(5, 1, 6) #返回由第6列中第16行(不包括6)單元格的數(shù)據(jù)組成的列表
print(v11)
#相當(dāng)于讀取整列時(shí)還進(jìn)行行的切片
#輸出 [1520.0, 1200.0, 1180.0, 1680.0, 1700.0]

raw_value和col_value如果只給第一個(gè)參數(shù),,默認(rèn)它會(huì)讀取整行或者整列,如果后面再加上起始和結(jié)束的數(shù)字區(qū)間,,就能夠讀取行列中的某一部分,。

要實(shí)現(xiàn)行或列整段的內(nèi)容讀取,除了使用現(xiàn)成的raw_value和col_value,,其實(shí)也能夠通過批量操作單元格來實(shí)現(xiàn),。思路是什么呢?前面文章的內(nèi)容已經(jīng)講過,,答案就是用循環(huán),。將單個(gè)單元格的讀取放在一個(gè)循環(huán)控制中實(shí)現(xiàn)行列讀取,這就是raw_value和col_value兩個(gè)函數(shù)的底層實(shí)現(xiàn),。大家可以自己嘗試著寫寫看,。

Excel的讀取講到這里就結(jié)束了,。也許有人想:這光讀取內(nèi)容也沒什么用,真正要的是“處理”表格,。在這里我想說的是,,“處理”過程是由多個(gè)步驟組成的,讀取只是處理開始的第一步,,我們要先夯實(shí)基礎(chǔ),,后面的過程才能走得下去,大家要耐心一步一步來,。本文內(nèi)容就此告一段落,,后面的文章咱們進(jìn)入Excel內(nèi)容的寫入。

下期預(yù)告:python操作Excel表格寫入

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多