Python处理Excel(四):自定义类处理Excel数据


完整代码如下,有时间再总结细节:

#coding=utf-8
import xlrd
import xlwt
from xlutils.copy import copy
from copy import deepcopy

class DataOutput_Helper:
	'''It's a data structure about scenario.
	   there are many methods provioded to make output the excel data easily'''
	
	def __init__(self,project,gvalue,lvalue,ip,mode,paraName,inputP,outputP,formula,scen):
		self.__project=project		
		self.__gvalue=gvalue
		self.__lvalue=lvalue
		self.__ip=ip
		self.__mode=mode
		self.__paraName=paraName
		self.__inputP=inputP
		self.__outputP=outputP
		self.__formula=formula
		self.__scen=scen
		print self.__scen
		
	def get_scen_num(self):
		return len(self.__scen.keys())
	def get_scen_name(self):
		return self.__scen.keys()
	def get_rawdata_by_index(self,scenName,index):
			return [self.__ip[index],self.__mode[index],self.__paraName[index],self.__inputP[index],self.__outputP[index],self.__formula[index],\
				self.__scen[scenName]['param'][index],self.__scen[scenName]['period'][index]]
	def get_data_num(self,scenName):
			m=0
			for n in range(len(self.__scen[scenName]['param'])):
				if self.__scen[scenName]['param'][n]!='' or self.__scen[scenName]['period'][n]!='':
					m+=1
			return m	
	def get_project_name(self):
			return self.__project
	def get_data_by_index(self,scenName,index):
	
			if self.__scen[scenName]['param'][index]=='' and self.__scen[scenName]['period'][index]=='':
				return None
			elif self.__mode[index]>1:
				master=self.__ip[index]+str(self.__mode[index])
			elif self.__mode[index]==1:
				master=self.__ip[index]
			paralist=[]
			for n in self.__scen[scenName]['param'][index].split(','):
				paralist.append(n.split('='))
			formula_re=self.__formula[index]
			for n in range(len(paralist)):
				formula_re=formula_re.replace(paralist[n][0],str(paralist[n][1]))
			for n in range(len(self.__gvalue)):
				formula_re=formula_re.replace(self.__gvalue[n][0],str(self.__gvalue[n][1]))
			for n in range(len(self.__lvalue)):
				formula_re=formula
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值