zoukankan      html  css  js  c++  java
  • 用反射机制和pandas,实现excel数据的读取以及参数化${arg}的赋值

    反射类:
    class GetData:

    index = pd.read_excel(file_name, sheet_name).loc[0, ['index']].values[0]
    email = pd.read_excel(file_name, sheet_name).loc[index, ['email']].values[0] #确定email和index的关系

    Excel中数据如下:

    读Excel数据的类:

    class do_Excel:
      #读excel数据的函数

    def read_excel(self,file_name):

         ......
    index=getattr(GetData,'index') 
       
         if sheet.cell(item,6).value.find('${email}')!=-1: #邮箱参数化,将读取到的数据赋值到参数位置
            row_data["data"]=eval(sheet.cell(item,6).value.replace('${email}',str(getattr(GetData,'email'))))
         else:
        row_data["data"] = eval(sheet.cell(item, 6).value)
          .......
        index += 1
        self.update_index(file_name,sheet_name,index)#更新update数据
      .......   

        #更新excel中sheet_name的index值,使email一行一行的读取
      def update_index(self,file_name,sheet_name,index):
      wb=load_workbook(file_name)
      sheet=wb[sheet_name]
      sheet_max_row = wb[sheet_name].max_row
       if index <= (sheet_max_row - 2): #判断当前index是否在行范围内
      sheet.cell(2,4).value=index
      else:
       sheet.cell(2,4).value=0#从第一行重新读取
      wb.save(file_name)
  • 相关阅读:
    显式接口实现
    工厂模式总结
    xml操作总结
    抽象类与接口异同
    (转载)将一段符合XML格式规范字符串插入已有XML文档当中
    观察者模式-最终话
    观察者模式
    泛型编程
    迭代器模式
    python学习笔记1 -- 面向对象编程高级编程1
  • 原文地址:https://www.cnblogs.com/guotang/p/12485157.html
Copyright © 2011-2022 走看看