import pandas as pd
from openpyxl import load_workbook
class DoExcel:
#第一种 读取所有sheet
# def get_data(self,filename):
# wb =load_workbook(filename)
# mode = eval(ReadConfig.get_config(case_config_path,"MODE","mode"))
# # tel = getattr(GetData,"NoRegTel") #利用反射从excel里的init表中拿到的数据
# test_data =[]
# for key in mode:#遍历这个存在配置文件里面的字典
# print("这是表名:",mode[key],type(mode[key]))
# sheet = wb[key] #表单名
# if mode[key] == 'all':
# for i in range(2, sheet.max_row + 1):
# row_data = {} # 字典
# row_data["case_id"] = sheet.cell(i, 1).value
# row_data["username"] = sheet.cell(i, 2).value
# row_data["password"] = sheet.cell(i,3).value
# row_data["email"] = sheet.cell(i,4).value
# row_data["sheet_name"] = key
# test_data.append(row_data)
#
# else:
# for case_id in mode[key]:#不为all就为列表
# row_data = {} # 字典
# row_data["case_id"] = sheet.cell(case_id+1, 1).value
# row_data["username"] = sheet.cell(case_id+1, 2).value
# row_data["password"] = sheet.cell(case_id+1, 3).value
# row_data["email"] = sheet.cell(i, 4).value
# row_data["sheet_name"] = key
# test_data.append(row_data)
#
# return test_data
#
#
# def write_back(self,filename,sheetname,i,result):#回写数据
# wb = load_workbook(filename)
# sheet = wb[sheetname]
# sheet.cell(i+1,5).value = result
# wb.save(filename)#保存结果
#第二种 pandas读取一张sheet
def get_data(self,filename,sheetname):
df = pd.read_excel(filename,sheet_name=sheetname)
test_data=[]
for i in df.index.values:
row_data = df.loc[i].to_dict()
test_data.append(row_data)
return test_data
#第三种 pandas 读取所有sheet
# def get_data(self,filename):
# mode = eval(ReadConfig().get_config(case_config_path,"MODE","mode"))
#
# test_data = []
# for key in mode:
#
# df = pd.read_excel(test_case_path,sheet_name=key)
# if mode[key] == 'all':
# for i in df.index.values:
# row_data = df.loc[i,"case_id":"expect"].to_dict()
# test_data.append(row_data)
#
# else:
# for case_id in mode[key]:
# row_data = df.loc[case_id,"case_id":"expect"].to_dict()
# test_data.append(row_data)
# return test_data
if __name__ == '__main__':
do_excel = DoExcel()
test_data = do_excel.get_data(test_case_path)
print(len(test_data))
print(test_data)
#