目录:
数据xlsx
读取数据的文件data.py:
import xlrd """ xlrd.open_workbook 打开excel文件 sheets()#读取所有sheet表 sheets[index] #读取指定工作表 nrows:所有行数 col_values(i)#读取指定列的所有数据 row_values(i)#读取指定行的所有数据 cell_values(1,1) #获取某单元格数据 """ def read_excel(dir,index=0): book=xlrd.open_workbook(filename=dir) sheets=book.sheets() #读取所有sheet表 sheet=sheets[index] #读取指定工作表 return sheet if __name__=='__main__': kk=read_excel("D:jodiejodiepydata_drivedate.xlsx") for i in range(1,kk.nrows): rows=kk.row_values(i) print(rows)
运行脚本 的run_test.py
from data_drive.date import read_excel import sys import data_drive.case.login import openpyxl result_list={} filename="D:jodiejodiepydata_drivedate.xlsx" sheet=read_excel(filename) for i in range(1,sheet.nrows): print(sheet.row_values(i)) row=sheet.row_values(i) mk='data_drive.case.'+row[0] #取模块 cs=row[1] #取类名 fun=row[2] #到出方法 user=row[3].split(',')[0].split('=')[1] pw=row[3].split(',')[1].split('=')[1] __import__(mk) #动态加载模块 m=sys.modules[mk] #将模块加载到内存里 obj=getattr(m,cs) #用getattr找模块m下的cs类 print("12",obj) mtd=getattr(obj(),fun) #用getattr找模块m下的cs类的fun方法 res=mtd(user,pw) result_list[i+1]=res #保存执行结果 wb = openpyxl.load_workbook(filename) sheet = wb["Sheet1"] print(sheet) for i,k in result_list.items(): sheet.cell(i, 6).value =result_list[i] print(sheet.cell(i, 6).value) wb.save(filename)
将执行结果写入exclel中
from xlutils.copy import copy
import xlrd #写入数据 def write_value(self,row,col,value): ''' 写入excel数据 ''' read_data = xlrd.open_workbook(self.file_name)#先打开文件 write_data = copy(read_data) sheet_data = write_data.get_sheet(0) sheet_data.write(row,col,value) write_data.save(self.file_name)