用xlrd库来读取Excel

import xlrd
import os


class Excel(object):
    '''定义一个excel类'''

    def __init__(self):
        '初始化基本信息'

        self.excelPath = r'F:\Test_framework\data'

    def readExcel(self,excelName,SheetName):
        '读取excel'

        self.excelName = os.path.join(self.excelPath,excelName)

        self.Rb = xlrd.open_workbook(self.excelName)
        #通过sheet的name找到sheet
        self.Rs = self.Rb.sheet_by_name(SheetName)
        #self.Rs = self.Rb.sheet_by_index(0)    通过索引找到sheet
        # 获取行数
        rows = self.Rs.nrows
        # 定义一个dict存放单条用例
        # self.titleDict = dict.fromkeys(self.Rs.row_values(0))
        # 取第一行的表头存为list。
        self.titleList = self.Rs.row_values(0)
        # 定义一个list 存放 所有用例
        self.caseList = []
        for r in range(1,rows):
            rowValues = self.Rs.row_values(r)
            # print(r)
            # print(self.Rs.row_values(r))
            # self.caseInfo = dict.fromkeys(self.Rs.row_values(0),self.Rs.row_values(r))
            # print(self.caseInfo)
            # 将列表组合成 字典 这是 将列表转换为字典的一个方法。
            self.caseDict = dict(zip(self.titleList,rowValues))
            # 下面是将字典转换为列表,
            # print(list(self.caseDict))
            # print(self.caseDict.values())
            # print(self.caseDict)
            # 将字典再拼接为列表。
            self.caseList.append(self.caseDict)
        print(self.caseList)
        d = self.caseList
        print(d[0]['search'])
        #print(type(self.caseList))
        # 返回caseList
        return self.caseList







if __name__ == '__main__':

    excel = Excel()
    excel.readExcel('baidu.xlsx','test')

 

posted @ 2018-10-24 10:08  nester_liz  阅读(552)  评论(0编辑  收藏  举报