循环读文件变成二维数组

 1 import jsonpath
 2 import os
 3 import xlrd
 4 
 5 from config.setting import  log
 6 
 7 
 8 def get_value(dic, key):
 9     '''
10     这个函数是从一个字典里面,根据key获取vlaue
11     :param dic:传一个字典
12     :param key:传一个
13     :return:如果有,返回key取到value,如果key没有,返回空字符串
14     '''
15     result = jsonpath.jsonpath(dic, '$..%s' % key)
16     if result:
17         return result[0]
18     return ''
19 
20 
21 class GetTestData:
22 
23     @staticmethod
24     def data_for_txt(file_name):
25         log.debug('开始读取参数化文件%s' % file_name)
26         if os.path.exists(file_name):
27             with open(file_name, encoding='utf-8') as fr:
28                 data = []
29                 for line in fr:
30                     if line.strip():
31                         line_data = line.strip().split(',')
32                         data.append(line_data)
33             return data
34         log.error('%s参数化文件不存在' % file_name)
35         raise Exception('%s参数化文件不存在' % file_name)
36 
37     @staticmethod
38     def data_for_excel(file_name, sheet_name=None):
39         log.debug('开始读取参数化文件%s' % file_name)
40         if os.path.exists(file_name):
41             data = []
42             book = xlrd.open_workbook(file_name)
43             if sheet_name:
44                 sheet = book.sheet_by_name(sheet_name)
45             else:
46                 sheet = book.sheet_by_index(0)
47             for row_num in range(1, sheet.nrows):
48                 row_data = sheet.row_values(row_num)
49                 data.append(row_data)
50             return data
51         log.error('%s参数化文件不存在' % file_name)
52         raise Exception('%s参数化文件不存在' % file_name)
53 
54     @staticmethod
55     def data_for_mysql(sql):
56         pass
57 
58 
59 class Singleton:
60     instance = None
61 
62     def __new__(cls, *args, **kwargs):
63         if cls.instance:
64             return cls.instance
65         cls.instance = super().__new__(cls)  #
66         return cls.instance
原文地址:https://www.cnblogs.com/jiadan/p/12016778.html