本文整理汇总了Python中Base.Base.is_iter方法的典型用法代码示例。如果您正苦于以下问题:Python Base.is_iter方法的具体用法?Python Base.is_iter怎么用?Python Base.is_iter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Base.Base
的用法示例。
在下文中一共展示了Base.is_iter方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: StockDataProc
# 需要导入模块: from Base import Base [as 别名]
# 或者: from Base.Base import is_iter [as 别名]
class StockDataProc(object):
def __init__(self,token=settings.token):
self.token=settings.token
self.base=Base()
self.wp=StockInterfaceWrap()
self.stat=StockDataStat()
self.db_proc=DatabaseProc()
self.func_dict={
'itfHDat_proc':self.wp.itfHDat_proc,
'itfHisDatD_proc':self.wp.itfHisDatD_proc
}
def deco_iterresult(func):
def _iterresult(self,isiterx,*args,**kargs):
if self.base.is_iter(isiterx):
return [func(self,x) for x in isiterx]
else:
return func(self,isiterx)
return _iterresult
#给起始和终止日期,返回期间的行
#colnam是date类型所在的列
def _sel_row_bydate(self,df,start,end=''):
#将输入日期转为datetime
if not end:
end=self.base.today_as_str()
start_dt=self.base.str_to_datetime(start)
end_dt=self.base.str_to_datetime(end)
date_col=pd.to_datetime(df.index)
mask = (date_col>= start_dt) & (date_col <= end_dt)
return df.ix[mask]
def getdata_multisource(self,itfs,itfparas,mergeby,itfiterparas={}):
logger.info('multi start')
if type(itfs)==dict:
itfparas.update(itfiterparas)
return itfs(**itfparas)
if len(itfs)!=len(itfparas):
print '函数列表和其参数列表长度不等!'
sys.exit()
#从所要求的接口抓取数据
data_iter=self.getdata_multithread(task_funcsiter=itfs,
task_funcsiterparas=itfparas,
task_funcsconstparas=itfiterparas)
#统一数据的合并字段
data_list=[data.set_index(mergeby) if not data.index.name==mergeby else data for data in data_iter]
print pd.concat(data_list,axis=1)
return pd.concat(data_list,axis=1)
def getdata_iter(self,iterkeys,iterkeynam,taskfuncs,
taskfuncs_paras,mergebys=None,handle_iter=0):
def dataiter_concat(dataiter):
return pd.concat(dataiter)
def dataiter_tocsv(dataiter):
pass
handle_itermethod=[dataiter_concat,dataiter_tocsv]
usemethod=handle_itermethod[handle_iter]
#参数处理
if not self.base.is_iter(taskfuncs):
task_funcsconst=taskfuncs
task_funcsiterparas=iter([{iterkeynam:t} for t in iterkeys])
task_funcsconstparas=taskfuncs_paras
else:
task_funcsconst=self.getdata_multisource
task_funcsiterparas=iter([{'itfiterparas':{iterkeynam:t}} for t in iterkeys])
task_funcsconstparas={'itfs':taskfuncs,'itfparas':taskfuncs_paras,
'mergeby':mergebys}
p=MultiProcessTask(funcdict=self.func_dict)
dataiter=p.getdata_multiprocess(task_funcsiterparas=task_funcsiterparas,
task_funcsconst=task_funcsconst,
task_funcsconstparas=task_funcsconstparas)
return usemethod(dataiter)
#获取所有深市股票代码
#返回迭代器
def get_tickersz(self,tickers):
issz=lambda x : self.is_tickersz(x) or self.is_tickercyb(x)
return itertools.ifilter(issz,tickers)
#获取所有深市股票代码(不包含创业板)
#tp---True返回包括停牌股票,False不反悔停牌股票
def get_tickerszmain(self,tickers):
#.........这里部分代码省略.........