Python中xlrd模組針對Excel

2021-10-05 20:09:11 字數 3445 閱讀 2475

本文由下面三個方向來對python中的xlrd模組展開學習

1.什麼是xlrd模組?

2.如何使用xlrd模組??(即xlrd模組的方法)

3.為什麼使用xlrd模組???

一、什麼是xlrd模組?

pip install xlrd
3.anaconda環境下 使用jupyter編寫時選擇python3 可以直接import 無需安裝十分方便

二、如何使用xlrd模組?

import xlrd
data =xlrd.open_workbook(filename)
table = data.sheets()[

0]#通過索引順序獲取

table = data.sheet_by_index(sheet_indx)

)#通過索引順序獲取

table = data.sheet_by_name(sheet_name)

#通過名稱獲取

以上三個函式都會返回乙個xlrd.sheet.sheet(

)物件names = data.sheet_names(

)#返回book中所有工作表的名字

data.sheet_loaded(sheet_name or indx)

# 檢查某個sheet是否匯入完畢

讀取乙個sheet內容

s1 = pd.read_excel(

'workbook1.xlsx'

,sheet_name=

'sheet1'

)s2 = pd.read_excel(

'workbook1.xlsx'

,sheet_name=

'sheet2'

)s3 = pd.read_excel(

'workbook1.xlsx'

,sheet_name=

'sheet3'

)s2

合併這三個sheet

第一種:先合併再改索引

s=pd.concat(

[s1,s2,s3]

,axis=0)

#合併三個表 axis=0 表示按行操作 縱向合併

s.reset_index(

)#對新錶進行索引重置

第二種:重置索引合併

s=pd.concat(

[s1,s2,s3]

,axis=

0,ignore_index=

true

)#重置索引合併

s

第三種:for迴圈合併(要求sheet名有規律)

df=pd.dataframe(

)for i in sheetname:

df_i = pd.read_excel(

'workbook1.xlsx'

,sheet_name=i)

#利用for迴圈 sheet名一定要有規律

df = pd.concat(

[df,df_i]

,axis=

0,ignore_index=

true

)df

[s2,s3]

,ignore_index=

true)s

2、行操作

nrows = table.nrows  #獲取該sheet中的有效行數

table.row(rowx)

#返回由該行中所有的單元格物件組成的列表

table.row_slice(rowx)

#返回由該列中所有的單元格物件組成的列表

table.row_types(rowx, start_colx=

0, end_colx=

none

)#返回由該行中所有單元格的資料型別組成的列表

table.row_values(rowx, start_colx=

0, end_colx=

none

)#返回由該行中所有單元格的資料組成的列表

table.row_len(rowx)

#返回該列的有效單元格長度

3、列操作

ncols = table.ncols   #獲取列表的有效列數

table.col(colx, start_rowx=

0, end_rowx=

none

)#返回由該列中所有的單元格物件組成的列表

table.col_slice(colx, start_rowx=

0, end_rowx=

none

)#返回由該列中所有的單元格物件組成的列表

table.col_types(colx, start_rowx=

0, end_rowx=

none

)#返回由該列中所有單元格的資料型別組成的列表

table.col_values(colx, start_rowx=

0, end_rowx=

none

)#返回由該列中所有單元格的資料組成的列表

4、單元格操作

table.cell(rowx,colx)

#返回單元格物件

table.cell_type(rowx,colx)

#返回單元格中的資料型別

table.cell_value(rowx,colx)

#返回單元格中的資料

table.cell_xf_index(rowx, colx)

# 暫時還沒有搞懂

三、為什麼使用xlrd模組?

在ui自動化或者介面自動化中資料維護是乙個核心,所以此模組非常實用

python解決open()函式、xlrd.open_workbook()函式檔名包含中文,sheet名包含中文報錯的問題

問題現象:

1、使用open()函式、xlrd.open_workbook()函式開啟檔案,檔名若包含中文,會報錯找不到這個檔案或目錄。

2、獲取sheet時若包含中文,也會報錯。

#開啟檔案

file

=open

(filename,

'rb'

)#開啟excel檔案

workbook = xlrd.open_workbook(filename)

#獲取sheet

sheet = workbook.sheet_by_name(sheetname)

解決方案:

對引數進行轉碼即可。如:filename = filename.decode('utf-8')

python中xlrd模組匯入Excel檔案

importxlrd 匯入讀excel的包f xlrd.open workbook r e pypractice yun doc a.xlsx 開啟乙個工作簿 table f.sheets 0 選取excel中的第一張 nrows table.nrows 獲取行數 ncols table.ncols...

Python中的xlrd模組詳解

1 匯入模組 import xlrd2 開啟excel檔案讀取資料 data xlrd.open workbook filename 檔名以及路徑,如果檔名或者路徑中有中文,在前面加乙個r3 常用的函式 excel中最重要的方法就是對book和sheet的操作 a 獲取book中所有工作表的名字 n...

python中xlrd模組的使用詳解

一 xlrd的安裝 開啟cmd輸入pip install xlrd安裝完成即可 在這裡插入描述 二 xlrd模組的使用 下面以這個工作簿為例 在這裡插入描述 1 匯入模組 1import xlrd 2 開啟工作薄12 filename是檔案的路徑名稱 workbook xlrd.open workb...