当前位置: 首页>>代码示例>>Python>>正文


Python Base.is_iter方法代码示例

本文整理汇总了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):
#.........这里部分代码省略.........
开发者ID:rainwu,项目名称:stockdata,代码行数:103,代码来源:StockDataProc.py


注:本文中的Base.Base.is_iter方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。