最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用 Python 的第三方庫(kù) xlrd 讀取 Excel 文件的詳細(xì)過(guò)程

 更新時(shí)間:2025年12月16日 17:11:37   作者:睿思達(dá)DBA_WGX  
文章主要介紹了如何使用Python的第三方庫(kù)xlrd讀取Excel文件,包括安裝xlrd庫(kù)、打開(kāi)Excel工作表、讀取單個(gè)單元格和多個(gè)單元格的信息等內(nèi)容,感興趣的朋友跟隨小編一起看看吧

使用 Python 的第三方庫(kù) xlrd 讀取 Excel 文件

一、安裝 xlrd 庫(kù)

xlrd是讀Excel的庫(kù),xlrd是第三方庫(kù),因此需要先安裝才能使用。在Windows命令行窗口輸入如下命令安裝 xlrd庫(kù):

C:\Users\Administrator>pip install xlrd
Collecting xlrd
  Downloading xlrd-2.0.2-py2.py3-none-any.whl.metadata (3.5 kB)
Downloading xlrd-2.0.2-py2.py3-none-any.whl (96 kB)
Installing collected packages: xlrd
Successfully installed xlrd-2.0.2
[notice] A new release of pip is available: 25.2 -> 25.3
[notice] To update, run: python.exe -m pip install --upgrade pip

對(duì)pip包進(jìn)行更新:

C:\Users\Administrator>python.exe -m pip install --upgrade pip
Requirement already satisfied: pip in c:\users\administrator\appdata\local\programs\python\python313\lib\site-packages (25.2)
Collecting pip
  Downloading pip-25.3-py3-none-any.whl.metadata (4.7 kB)
Downloading pip-25.3-py3-none-any.whl (1.8 MB)
   ---------------------------------------- 1.8/1.8 MB 4.6 MB/s  0:00:00
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 25.2
    Uninstalling pip-25.2:
      Successfully uninstalled pip-25.2
Successfully installed pip-25.3

由于所安裝的第三方庫(kù)默認(rèn)是在國(guó)外的服務(wù)器上,所以可能會(huì)出現(xiàn)安裝速度比較慢的情況。此時(shí)可以嘗試使用國(guó)內(nèi)鏡像源的方式進(jìn)行安裝。國(guó)內(nèi)鏡像源網(wǎng)址如下:

清華大學(xué):https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:http:/mirrors.aliyun.com/pypi/simple

鏡像源使用方式:在使用pip時(shí)添加參數(shù)-i https://pypi.tuna.tsinghua.edu.cn/simple

例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xlrd

二、使用 xlrd 庫(kù)讀取 Excel 文件

1、打開(kāi) Excel 工作表

理解工作簿、工作表、單元格區(qū)域、單元格等概念。

import xlrd
# 使用 open_workbook 加載磁盤(pán)中的Excel文件
excelbook=xlrd.open_workbook(r"d:/資產(chǎn)清單.xlsx")
# 執(zhí)行以上代碼時(shí)程序報(bào)如下錯(cuò)誤:
  File "C:/Users/Administrator/AppData/Local/Programs/Python/Python313/aa.py", line 2, in <module>
    excelbook=xlrd.open_workbook(r"d:/資產(chǎn)清單.xlsx")
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python313\Lib\site-packages\xlrd\__init__.py", line 170, in open_workbook
    raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
xlrd.biffh.XLRDError: Excel xlsx file; not supported

在 CSDN 搜索,給出的原因如下:通常是由于當(dāng)前 Python 中的 xlrd 版本過(guò)高,高版本下刪除了對(duì)應(yīng)的 .xlsx 讀取方法,或者 xlrd 更新到了 2.0.1 版本,只支持 .xls 文件。

解決方法為:重裝指定版本的 xlrd。在命令行中先卸載現(xiàn)有的 xlrd,再安裝指定版本的 xlrd。

C:\Users\Administrator>pip uninstall xlrd
Found existing installation: xlrd 2.0.2
Uninstalling xlrd-2.0.2:
  Would remove:
    c:\users\administrator\appdata\local\programs\python\python313\lib\site-packages\xlrd-2.0.2.dist-info\*
    c:\users\administrator\appdata\local\programs\python\python313\lib\site-packages\xlrd\*
    c:\users\administrator\appdata\local\programs\python\python313\scripts\runxlrd.py
Proceed (Y/n)? y
  Successfully uninstalled xlrd-2.0.2
C:\Users\Administrator>pip install xlrd==1.2.0
Collecting xlrd==1.2.0
  Downloading xlrd-1.2.0-py2.py3-none-any.whl.metadata (1.3 kB)
Downloading xlrd-1.2.0-py2.py3-none-any.whl (103 kB)
Installing collected packages: xlrd
Successfully installed xlrd-1.2.0

重新編寫(xiě)代碼,加載 Excel 文件,獲取工作表中的數(shù)據(jù)。

加載 Excel 文件,查看對(duì)象類(lèi)型。代碼如下:

import xlrd
# 使用 open_workbook 加載磁盤(pán)中的Excel文件
excelbook=xlrd.open_workbook(r"d:/資產(chǎn)清單.xlsx")
print(type(excelbook))
print(excelbook)
程序運(yùn)行結(jié)果為:
<class 'xlrd.book.Book'>
<xlrd.book.Book object at 0x00000215C84C7B60>

獲取工作表對(duì)象信息。代碼如下:

import xlrd
excelbook=xlrd.open_workbook(r"d:/資產(chǎn)清單.xlsx")
# 按照工作表的序號(hào)獲取第一個(gè)工作表對(duì)象信息
sht1=excelbook.sheet_by_index(0)  
# 按照工作表的名稱(chēng)獲取工作表對(duì)象信息
sht2=excelbook.sheet_by_name("總資產(chǎn)")
# 獲取所有的工作表信息,保存到一個(gè)列表中。
shts=excelbook.sheets()
# 獲取列表中的第二個(gè)元素,即第二個(gè)工作表對(duì)象信息
sht3=shts[1]
print(type(sht1))
print(sht1)
print(sht2)
print(type(shts))
print(shts)
print(sht3)
程序運(yùn)行結(jié)果為:
<class 'xlrd.sheet.Sheet'>
<xlrd.sheet.Sheet object at 0x000001A8AB867E00>
<xlrd.sheet.Sheet object at 0x000001A8AB867E00>
<class 'list'>
[<xlrd.sheet.Sheet object at 0x000001A8AB867E00>, <xlrd.sheet.Sheet object at 0x000001A8AB94C2D0>]
<xlrd.sheet.Sheet object at 0x000001A8AB94C2D0>
2、讀取單個(gè)單元格的信息

獲取單元格數(shù)據(jù)有兩種方式:一是使用cell_value函數(shù)直接返回單元格的數(shù)據(jù),該函數(shù)傳遞兩個(gè)參數(shù):?jiǎn)卧駭?shù)值所在的行號(hào)和列號(hào)。另一種是使用cell函數(shù),該函數(shù)仍然需要傳遞兩個(gè)參數(shù):行號(hào)和列號(hào),但該函數(shù)返回的是一個(gè)單元格對(duì)象,需要使用該對(duì)象的value屬性返回單元格中的數(shù)據(jù)。

常用的單元格數(shù)據(jù)類(lèi)型包含如下幾種:

0:empty——空

1:string——文本

2:number——數(shù)值

3:date——日期

4:boolean——邏輯值

5:error——錯(cuò)誤

6:blank——空格

例如:

import xlrd
excelbook=xlrd.open_workbook(r"d:/資產(chǎn)清單.xlsx")
# 獲取第一個(gè)工作表對(duì)象信息
sht1=excelbook.sheets()[0]
# 獲取第3行第2列的單元格的內(nèi)容
x=sht1.cell(2,1).value
print(x)
print(type(x))
# 獲取第3行第6列的單元格的內(nèi)容
x=sht1.cell_value(2,5)
print(x)
print(type(x))
程序運(yùn)行結(jié)果為:
家具
<class 'str'>
700.0
<class 'float'>
3、讀取多個(gè)單元格的信息

使用工作表的nrows屬性可以獲取工作表總的有效行數(shù),ncols屬性可以獲取工作表總的有效列數(shù)。

import xlrd
excelbook=xlrd.open_workbook(r"d:/資產(chǎn)清單.xlsx")
rows=excelbook.sheets()[0].nrows
cols=excelbook.sheets()[0].ncols
print(rows)
print(cols)
程序運(yùn)行結(jié)果為:
7
9

使用row(n)函數(shù)可以獲取第n行數(shù)據(jù),使用col(n)函數(shù)可以獲取第n列數(shù)據(jù)。

import xlrd
excelbook=xlrd.open_workbook(r"d:/資產(chǎn)清單.xlsx")
row=excelbook.sheets()[0].row(2)
print(row)
print(type(row))
print("==="*20)
print(row[1])
print(type(row[1]))
print("==="*20)
col=excelbook.sheets()[0].col(3)
print(col)
print(type(col))
程序運(yùn)行結(jié)果為:
[number:2.0, text:'家具', text:'JJ2020021492', text:'目錄柜', text:'50斗', number:700.0, text:'經(jīng)濟(jì)與管理學(xué)院辦公室', text:'10號(hào)教學(xué)樓2樓10206', xldate:33329.0]
<class 'list'>
============================================================
text:'家具'
<class 'xlrd.sheet.Cell'>
============================================================
[text:'名稱(chēng)', text:'期刊架', text:'目錄柜', text:'雙面書(shū)桌', text:'雙面書(shū)桌', text:'雙面書(shū)桌', text:'雙面書(shū)桌']
<class 'list'>

row(n)函數(shù)與 col(n)函數(shù)獲取到的數(shù)據(jù)是一個(gè)列表,列表中元素的數(shù)據(jù)類(lèi)型為<class 'xlrd.sheet.Cell'>,這是xlrd中的cell對(duì)象。也就是每一個(gè)列表元素表示的是一個(gè)單元格對(duì)象,單元格對(duì)象有value屬性。因此,可以遍歷列表獲得每一個(gè)單元格對(duì)象,再通過(guò)value屬性獲取每一個(gè)單元格的值。

代碼如下:

import xlrd
excelbook=xlrd.open_workbook(r"d:/資產(chǎn)清單.xlsx")
rows=excelbook.sheets()[0].nrows
for row_id in range(rows):
    for cell in excelbook.sheets()[0].row(row_id):
        print(cell.value,end="   ")
    print("")
程序運(yùn)行結(jié)果為:
序號(hào)   類(lèi)別   編號(hào)   名稱(chēng)   型號(hào)   價(jià)值   領(lǐng)用單位   存放地   入庫(kù)日期   
1.0   家具   JJ2020019977   期刊架   D型   590.0   經(jīng)濟(jì)與管理學(xué)院辦公室   10號(hào)教學(xué)樓2樓10206   33329.0   
2.0   家具   JJ2020021492   目錄柜   50斗   700.0   經(jīng)濟(jì)與管理學(xué)院辦公室   10號(hào)教學(xué)樓2樓10206   33329.0   
3.0   家具   JJ2020023833   雙面書(shū)桌   雙面   410.0   經(jīng)濟(jì)與管理學(xué)院辦公室   10號(hào)教學(xué)樓2樓10206   33329.0   
4.0   家具   JJ2020023834   雙面書(shū)桌   雙面   410.0   經(jīng)濟(jì)與管理學(xué)院辦公室   10號(hào)教學(xué)樓2樓10206   33329.0   
5.0   家具   JJ2020023835   雙面書(shū)桌   雙面   410.0   經(jīng)濟(jì)與管理學(xué)院辦公室   10號(hào)教學(xué)樓2樓10206   33329.0   
6.0   家具   JJ2020023836   雙面書(shū)桌   雙面   410.0   經(jīng)濟(jì)與管理學(xué)院辦公室   10號(hào)教學(xué)樓2樓10206   33329.0   

到此這篇關(guān)于使用 Python 的第三方庫(kù) xlrd 讀取 Excel 文件的詳細(xì)過(guò)程的文章就介紹到這了,更多相關(guān)python xlrd 讀取 Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

海南省| 肥城市| 衡南县| 当雄县| 安顺市| 葵青区| 漠河县| 正安县| 岢岚县| 饶平县| 丹巴县| 溧水县| 时尚| 抚远县| 得荣县| 九寨沟县| 台安县| 兴业县| 渝北区| 沭阳县| 安西县| 乾安县| 若尔盖县| 龙南县| 平武县| 元阳县| 满洲里市| 鄂托克旗| 南阳市| 无棣县| 澄江县| 锡林郭勒盟| 鄂托克前旗| 石门县| 烟台市| 通辽市| 商洛市| 桐城市| 东光县| 丘北县| 错那县|