Read excel\csv test case file

# -*- coding: gbk -*-
import csv
import pandas
import xlrd


class ReadReqParams:
    """读测试用例文件"""
    def __init__(self, file_path):
        self.file_path = file_path

    def read_csv_file(self):
        """读CSV格式文件"""
        try:
            with open(self.file_path, 'r', encoding='gbk') as f:
                reader = csv.reader(f)
                fieldnames = next(reader)
                csv_reader = csv.DictReader(f, fieldnames=fieldnames)
                file_list = []
                for row in csv_reader:
                    params_one = {}
                    for k, v in row.items():
                        params_one[k] = v
                    file_list.append(params_one)
                return file_list
        except FileNotFoundError:
            return ('未找到测试文件')


    def read_xlsx_file(self):
        """使用 pandas读excle文件"""
        try:
            wb = pandas.read_excel(self.file_path)
        except FileNotFoundError:
            return '未找到测试用例文件'
        else:
            file_list = []
            for i in wb.index.values:
                row_data = wb.loc[i].to_dict()
                file_list.append(row_data)
            # excel填写为空时,读取为None
            return file_list


    def read_excel_file(self):
        """读excle文件"""
        try:
            data = xlrd.open_workbook(self.file_path)
            table = data.sheet_by_index(0)
        except FileNotFoundError:
            return '未找到测试用例文件'
        except xlrd.biffh.XLRDError:
            print('未找到sheet')
            return '未找到测试用例文件'
        else:
            keys = table.row_values(0)
            rownum = table.nrows
            colnum = table.ncols
            if rownum <= 1:
                print('未找到有效的测试用例')
            else:
                file_list = []
                for i in range(rownum-1):
                    data_list = {}
                    i += 1
                    values = table.row_values(i)
                    for x in range(colnum):
                        data_list[keys[x]] = values[x]
                    file_list.append(data_list)
                # excel填写为空时,不会转换为null
                return file_list

Guess you like

Origin blog.csdn.net/kk_gods/article/details/109055935