本篇文章給大家談?wù)勛詣?dòng)化xlrd讀取測(cè)試用例,以及自動(dòng)化測(cè)試用例文件路徑對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收***本站喔。 今天給各位分享自動(dòng)化xlrd讀取測(cè)試用例的知識(shí),其中也會(huì)對(duì)自動(dòng)化測(cè)試用例文件路徑進(jìn)行解釋,如果能碰巧解決***現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!
1、xlrd如何根據(jù)列名提取數(shù)據(jù)?
、安裝xlrd庫(kù)
可以下載xlrd庫(kù)包到本地安裝,也可以通過(guò)pip命令安裝,這里我選擇pip命令:
pip install xlrd
二、使用xlrd讀取excel數(shù)據(jù)
具體詳細(xì)的操作可以參考xlrd庫(kù)操作說(shuō)明文檔,以下是兩種讀取excel數(shù)據(jù)的方***:
1、根據(jù)Excel中sheet名稱讀取數(shù)據(jù):
def readExcelDataByName(fileName, sheetName):
table = None
errorMsg = None
try:
data = xlrd.open_workbook(fileName)
table = data.sheet_by_name(sheetName)
except Exception, msg:
errorMsg = msg 9 return table, errorMsg
2、根據(jù)Excel中sheet的序號(hào)獲?。?/p>
def readExcelDataByIndex(fileName, sheetIndex):
table = None
errorMsg = ""
try:
data = xlrd.open_workbook(fileName)
table = data.sheet_by_index(sheetIndex)
except Exception, msg:
errorMsg = msg
return table, errorMsg
3、根據(jù)列名獲取相應(yīng)序號(hào),由于有時(shí)讀取excel中列數(shù)據(jù)時(shí),需要通過(guò)列頭名稱獲取相應(yīng)的列中的值,所以寫(xiě)了下面這個(gè)返回列名所在表格中的index。然后就可以直接通過(guò)table.cell_value(i, getColumnIndex(table,'列名'))獲取列的值。
def getColumnIndex(table, columnName):
columnIndex = None 3
for i in range(table.ncols): 5
if(table.cell_value(0, i) == columnName):
columnIndex = i
break
return columnIndex
下面加入需要讀取如下excel表格中的數(shù)據(jù),在讀取數(shù)據(jù)時(shí)直接根據(jù)列名去獲取相應(yīng)的值。
根據(jù)列名讀取相應(yīng)的值,***碼如下:
#!/usr/bin/python
# coding=utf-8
__author__ = 'Paul'
import xlrd
import chardet
import traceback
def getColumnIndex(table, columnName):
columnIndex = None
#print table
for i in range(table.ncols):
#print columnName
#print table.cell_value(0, i)
if(table.cell_value(0, i) == columnName):
columnIndex = i
break
return columnIndex
def readExcelDataByName(fileName, sheetName):
#print fileName
table = None
errorMsg = ""
try:
data = xlrd.open_workbook(fileName)
table = data.sheet_by_name(sheetName)
except Exception, msg:
errorMsg = msg
return table, errorMsg
def readExcelDataByIndex(fileName, sheetIndex):
table = None
errorMsg = ""
try:
data = xlrd.open_workbook(fileName)
table = data.sheet_by_index(sheetIndex)
except Exception, msg:
errorMsg = msg
return table, errorMsg
if __name__ == '__main__':
#example
xl*ile= 'F:/test_AutoTesting/TestCase/RunList.xlsx'
table = readExcelDataByName(xl*ile, 'Sheet1')[0]
#獲取第一行的值
testcase_id = table.cell_value(1, getColumnIndex(table,'TestCaseID'))
***_config = table.cell_value(1, getColumnIndex(table,'***Config'))
print u'測(cè)試用例ID為:%s'%(testcase_id)
print u'配置信息為:%s'%(***_config)
得出結(jié)果如下:
4、讀取excel中的文本或數(shù)值轉(zhuǎn)換成了float的問(wèn)題
有時(shí)Excel中的值為20,但讀取出來(lái)的值卻變成了20.0,這與我們想要的不大一致,特別是做UI自動(dòng)化測(cè)試過(guò)程中需要下拉選擇值時(shí)就完全選不出想要的選項(xiàng)了。目前我想到的是通過(guò)下面的語(yǔ)句來(lái)處理:
if isinstance(inputValue,float): #判斷讀取到的值是否為float
if inputValue==int(inputValue): #判斷讀取到的值與轉(zhuǎn)成int后的值是否相等,如果相等則轉(zhuǎn)成int
inputValue = int(inputValue)
inputValue = str(inputValue) #轉(zhuǎn)成s
1. 可以根據(jù)列名提取數(shù)據(jù)。
2. xlrd是一個(gè)Python庫(kù),用于讀取Excel文件。
要根據(jù)列名提取數(shù)據(jù),可以先獲取Excel文件中的所有列名,然后找到對(duì)應(yīng)的列索引,最后根據(jù)索引提取數(shù)據(jù)。
3. 在使用xlrd庫(kù)時(shí),可以通過(guò)使用sheet對(duì)象的row_values()方***獲取某一行的數(shù)據(jù),再通過(guò)index()方***找到對(duì)應(yīng)列名的索引,最后根據(jù)索引提取數(shù)據(jù)。
這樣就可以根據(jù)列名提取數(shù)據(jù)了。
關(guān)于自動(dòng)化xlrd讀取測(cè)試用例和自動(dòng)化測(cè)試用例文件路徑的介紹到此就結(jié)束了,不知******從中找到***需要的信息了嗎 ?如果***還想了解更多這方面的信息,記得收***關(guān)注本站。 自動(dòng)化xlrd讀取測(cè)試用例的介紹就聊到這里吧,感謝***花時(shí)間閱讀本站內(nèi)容,更多關(guān)于自動(dòng)化測(cè)試用例文件路徑、自動(dòng)化xlrd讀取測(cè)試用例的信息別忘了在本站進(jìn)行查找喔。