Robot從excel 讀取數(shù)據(jù)

test_project_excel 練習(xí)目錄:

目錄結(jié)構(gòu)

MyKey
import xlrd

class ts_excel():
        
    def _open_excel(self, path):
        try:
            work_book = xlrd.open_workbook(path, 'rb')
        except Exception as e:
            print(e)
            raise Exception("can not open work book! Pls check it at path:%s" % path)
        return work_book


    def _open_sheet_by_index(self, work_book, index):
        try:
            sheet = work_book.sheet_by_index(index)
        except:
            raise Exception("Can not open sheet by index %s" % index)
        return sheet

    def _open_sheet_by_name(self, work_book, sheet_name):
        sheet = None
        for st_name in work_book.sheet_names():
            if str(st_name) == sheet_name:
                sheet = work_book.sheet_by_name(sheet_name)
        if sheet == None:
            raise Exception("Can not open sheet by name %s" % sheet_name)
        return sheet

    def _get_data_from_sheet(self, sheet, col_index=2):
        nrows = sheet.nrows
        print(nrows)
        ncols = sheet.ncols
        if ncols < col_index:
            raise Exception("Can not find %d cols from sheet %s" % (col_index, sheet.name))
        # colnames = sheet.row_value(0) #第一行的數(shù)據(jù)
        list1 = []
        list2 = []
        for rownum in range(1, nrows):
            row_col0 = sheet.row(rownum)[0].value
            row_col1 = sheet.row(rownum)[1].value
            list1.append(row_col0)
            list2.append(row_col1)
        dict_date = dict(zip(list1, list2))
        print(dict_date)
        return dict_date

    def _get_testdata_from_sheet(self, sheet, col_index=3):
        nrows = sheet.nrows
        print(nrows)
        ncols = sheet.ncols
        if ncols < col_index:
            raise Exception("Can not find %dth cols from sheet %s" % (col_index, sheet.name))
        list1 = []
        list2 = []
        for rownum in nrows:
            for colnum in ncols:
                list1.append(sheet.row(rownum)[colnum].value)
                list2.append(list1)
        list1 = []
        print(list2)
        return list2

    def get_testdata_from_excel_by_index(self, path, index):
        work_book = self._open_excel(path)
        sheet = self._open_sheet_by_index(work_book, index)
        dict_data = self._get_data_from_sheet(sheet)
        return dict_data

    def get_testdata_from_excel_by_name(self, path, sheet_name=u'Sheet1'):
        work_book = self._open_excel(path)
        sheet = self._open_sheet_by_name(work_book, sheet_name)
        dict_data = self._get_data_from_sheet(sheet)
        return dict_data

    def get_testdata_from_excel(self, path, sheet_name=u'Sheet1'):
        work_book = self._open_excel(path)
        sheet = self._open_sheet_by_name(work_book, sheet_name)
        list_data = self._get_data_from_sheet(sheet)
        return list_data

#MyKey().get_testdata_from_excel_by_index('F:\python學(xué)習(xí)\\test_project_excel\\test_excel01.xlsx', 0)
#MyKey().get_testdata_from_excel_by_name('F:\python學(xué)習(xí)\\test_project_excel\\test_excel01.xlsx', 'account')
#MyKey().get_testdata_from_excel('F:\python學(xué)習(xí)\\test_project_excel\\test_excel01.xlsx', 'account')

  1. 導(dǎo)入自定義庫


    導(dǎo)入自定義庫
  2. 創(chuàng)建測試
  • 新建項目 : test_project_excel
  • 新建測試集 : t1.robot
  • 新建測試:
    test_case02
    test_case03
    test_case04
  • 導(dǎo)入?yún)?shù)
*** Settings ***
Library            MyLibrary
Library            MyKey/ts_excel.py

*** Variables ***
${path}            ./test_excel01.xlsx
${index}           ${0}

*** Test Cases ***
test_demo01
     test_a_b     1     2

test_case02
     ${data}     get_testdata_from_excel_by_index     ${path}     ${index}

test_case03
     ${data2}     get_testdata_from_excel_by_name     ${path}     account

test_case04
     ${data3}     get_testdata_from_excel     ${path}     account
  1. 運行結(jié)果

    image.png

  2. 命令運行結(jié)果

指定運行執(zhí)行文件
指定運行文件并輸出到指定文件夾下
指定文件中某個案例執(zhí)行并輸出到指定文件夾下
設(shè)置debug模式赃磨,打印調(diào)試信息
左上角可選擇debug,顯示debug信息

參考:http://www.reibang.com/p/3479f3ee59adh'h

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末猪瞬,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌道伟,老刑警劉巖融击,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惠猿,死亡現(xiàn)場離奇詭異毛好,居然都是意外死亡,警方通過查閱死者的電腦和手機躏救,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門唯笙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事崩掘∑呦樱” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵呢堰,是天一觀的道長抄瑟。 經(jīng)常有香客問我,道長枉疼,這世上最難降的妖魔是什么皮假? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮骂维,結(jié)果婚禮上惹资,老公的妹妹穿的比我還像新娘。我一直安慰自己航闺,他們只是感情好褪测,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著潦刃,像睡著了一般侮措。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上乖杠,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天分扎,我揣著相機與錄音,去河邊找鬼胧洒。 笑死畏吓,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的卫漫。 我是一名探鬼主播菲饼,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼列赎!你這毒婦竟也來了宏悦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤粥谬,失蹤者是張志新(化名)和其女友劉穎肛根,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體漏策,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年臼氨,在試婚紗的時候發(fā)現(xiàn)自己被綠了掺喻。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖感耙,靈堂內(nèi)的尸體忽然破棺而出褂乍,到底是詐尸還是另有隱情,我是刑警寧澤即硼,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布逃片,位于F島的核電站,受9級特大地震影響只酥,放射性物質(zhì)發(fā)生泄漏褥实。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一裂允、第九天 我趴在偏房一處隱蔽的房頂上張望损离。 院中可真熱鬧,春花似錦绝编、人聲如沸僻澎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽窟勃。三九已至,卻和暖如春逗堵,著一層夾襖步出監(jiān)牢的瞬間秉氧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工砸捏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留谬运,地道東北人。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓垦藏,卻偏偏與公主長得像梆暖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子掂骏,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容