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

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

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

使用 Python 的第三方庫 xlrd 讀取 Excel 文件

一、安裝 xlrd 庫

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

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

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

由于所安裝的第三方庫默認(rèn)是在國外的服務(wù)器上,所以可能會出現(xiàn)安裝速度比較慢的情況。此時(shí)可以嘗試使用國內(nèi)鏡像源的方式進(jìn)行安裝。國內(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 庫讀取 Excel 文件

1、打開 Excel 工作表

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

import xlrd
# 使用 open_workbook 加載磁盤中的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 版本過高,高版本下刪除了對應(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

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

加載 Excel 文件,查看對象類型。代碼如下:

import xlrd
# 使用 open_workbook 加載磁盤中的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>

獲取工作表對象信息。代碼如下:

import xlrd
excelbook=xlrd.open_workbook(r"d:/資產(chǎn)清單.xlsx")
# 按照工作表的序號獲取第一個(gè)工作表對象信息
sht1=excelbook.sheet_by_index(0)  
# 按照工作表的名稱獲取工作表對象信息
sht2=excelbook.sheet_by_name("總資產(chǎn)")
# 獲取所有的工作表信息,保存到一個(gè)列表中。
shts=excelbook.sheets()
# 獲取列表中的第二個(gè)元素,即第二個(gè)工作表對象信息
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ù):單元格數(shù)值所在的行號和列號。另一種是使用cell函數(shù),該函數(shù)仍然需要傳遞兩個(gè)參數(shù):行號和列號,但該函數(shù)返回的是一個(gè)單元格對象,需要使用該對象的value屬性返回單元格中的數(shù)據(jù)。

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

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è)工作表對象信息
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號教學(xué)樓2樓10206', xldate:33329.0]
<class 'list'>
============================================================
text:'家具'
<class 'xlrd.sheet.Cell'>
============================================================
[text:'名稱', text:'期刊架', text:'目錄柜', text:'雙面書桌', text:'雙面書桌', text:'雙面書桌', text:'雙面書桌']
<class 'list'>

row(n)函數(shù)與 col(n)函數(shù)獲取到的數(shù)據(jù)是一個(gè)列表,列表中元素的數(shù)據(jù)類型為<class 'xlrd.sheet.Cell'>,這是xlrd中的cell對象。也就是每一個(gè)列表元素表示的是一個(gè)單元格對象,單元格對象有value屬性。因此,可以遍歷列表獲得每一個(gè)單元格對象,再通過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é)果為:
序號   類別   編號   名稱   型號   價(jià)值   領(lǐng)用單位   存放地   入庫日期   
1.0   家具   JJ2020019977   期刊架   D型   590.0   經(jīng)濟(jì)與管理學(xué)院辦公室   10號教學(xué)樓2樓10206   33329.0   
2.0   家具   JJ2020021492   目錄柜   50斗   700.0   經(jīng)濟(jì)與管理學(xué)院辦公室   10號教學(xué)樓2樓10206   33329.0   
3.0   家具   JJ2020023833   雙面書桌   雙面   410.0   經(jīng)濟(jì)與管理學(xué)院辦公室   10號教學(xué)樓2樓10206   33329.0   
4.0   家具   JJ2020023834   雙面書桌   雙面   410.0   經(jīng)濟(jì)與管理學(xué)院辦公室   10號教學(xué)樓2樓10206   33329.0   
5.0   家具   JJ2020023835   雙面書桌   雙面   410.0   經(jīng)濟(jì)與管理學(xué)院辦公室   10號教學(xué)樓2樓10206   33329.0   
6.0   家具   JJ2020023836   雙面書桌   雙面   410.0   經(jīng)濟(jì)與管理學(xué)院辦公室   10號教學(xué)樓2樓10206   33329.0   

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

相關(guān)文章

最新評論

定陶县| 仲巴县| 兰州市| 高青县| 苍山县| 青河县| 齐齐哈尔市| 同心县| 三门县| 奎屯市| 潞西市| 凤冈县| 茌平县| 徐州市| 永康市| 荆门市| 兴城市| 昔阳县| 东宁县| 托克逊县| 河源市| 青浦区| 裕民县| 桦甸市| 柳州市| 乌审旗| 当雄县| 嘉荫县| 高安市| 涞源县| 古交市| 广德县| 博客| 绥中县| 开阳县| 沐川县| 舟山市| 启东市| 平顶山市| 岗巴县| 丹阳市|