在Python 中你要針對某個對象進行操作,是需要安裝與其對應的第三方庫的,這里對于Excel 也不例外,它也有對應的第三方庫,即xlrd 庫。
什么是xlrd庫
Python 操作Excel 主要用到xlrd和xlwt這兩個庫,即xlrd是讀Excel ,xlwt是寫Excel 的庫。今天主要講講xlrd這個庫。
常用單元格中的數據類型
-
empty(空的)
-
string(text)
-
number
-
date
-
boolean
-
error
-
blank(空白表格)
安裝
首先來安裝一下xlrd, 安裝非常簡單,一條命令即可搞定:
python -m pip install xlrd
不報錯說明模塊安裝成功
代碼演示
import xlrd
import xlwt
data = xlrd.open_workbook("test.xls") #打開一個excel文件
table=data.sheet_by_name("good")#通過sheet名查找good
#針對excel中sheet操作
print('sheet_names:', data.sheet_names()) # 獲取所有sheet名字
print('sheet_number:', data.nsheets ) # 獲取sheet數量
print('sheet is load:',data.sheet_loaded(2)) #通過name or index來檢查某個sheet是否導入完畢
print('sheet_object:', data.sheets() ) # 獲取所有sheet對象,返回一個xlrd.sheet.Sheet()對象列表
print('By_name:', data.sheet_by_name("test")) # 通過sheet名查找,返回一個xlrd.sheet.Sheet()對象
print('By_index:', data.sheet_by_index(1) ) # 通過索引查找,返回一個xlrd.sheet.Sheet()對象
#針對sheet的行的操作
print("該sheet中的有效行數:",table.nrows) #獲取該sheet中的有效行數
print("該行對象組成的列表:",table.row(1)) #返回由該行中所有的單元格對象組成的列表
print("該行對象組成的列表:",table.row_slice(1)) #返回由該行中所有的單元格對象組成的列表,與上面的效果一致
print("該行數據類型組成的列表:",table.row_types(1)) #返回由該行中所有單元格的數據類型組成的列表
print("該行數據組成的列表:",table.row_values(0)) #返回由該行中所有單元格的數據組成的列表
print("該列的有效單元格長度:",table.row_len(1)) #返回該列的有效單元格長度
#針對sheet的列的操作
print("該sheet中的有效列數:",table.ncols) #獲取該sheet中的有效列數
print("該列中所有的單元格對象組成的列表:",table.col(1)) #返回由該列中所有的單元格對象組成的列表
print("該列中所有的單元格對象組成的列表:",table.col_slice(1)) #返回由該列中所有的單元格對象組成的列表,與上面的效果一致
print("該列中所有單元格的數據類型組成的列表:",table.col_types(1)) #返回由該列中所有單元格的數據類型組成的列表
print("該列中所有單元格的數據組成的列表:",table.col_values(1)) #返回由該列中所有單元格的數據組成的列表
#針對單元格的操作
# #針對單元格的操作
print("返回指定單元格對象:",table.cell(0,0)) #返回單元格對象
print("返回指定單元格對象:",table.cell(0,0).value) #返回單元格對象的值
print("返回指定單元格對象的數據類型:",table.cell_type(1,1)) #返回單元格中的數據類型
print("返回指定單元格對象的數據:",table.cell_value(0,0))???#返回單元格中的數據,等同于table.cell(0,0).value
輸出結果展示
引用的Excel 數據格式如下:
總結:今天主要是分享了Python 如何來操作Excel 里面的sheet,row,col,cell 等Excel 里面的元素,有了這些基礎我們就可以在后面做我們想要做的了,比如:api 自動化時需要從Excel 里面獲取要組織的請求數據,或者是回寫我們請求后的響應值等。