本文由下面三個方向來對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...