首页 > 其他 > 详细

用反射机制和pandas,实现excel数据的读取以及参数化${arg}的赋值

时间:2020-03-13 13:37:01      阅读:75      评论:0      收藏:0      [点我收藏+]
反射类:
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)

用反射机制和pandas,实现excel数据的读取以及参数化${arg}的赋值

原文:https://www.cnblogs.com/guotang/p/12485157.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!