Python 函数封装

自己在项目中用到的几个函数封装


1.北京时间转换为世界时

def BTC_to_UTC(btc_time):
    utc_struct = time.mktime([int(btc_time[0:4]),int(btc_time[4:6]),\
                              int(btc_time[6:8]),int(btc_time[8:10]),\
                              int(btc_time[10:12]),int(btc_time[12:14]),0,0,0])
    
    return time.strftime('%Y%m%d%H%M%S',time.gmtime(utc_struct)) + '%03s' %(btc_time[14:])

2.按照日期生成以一分钟为间隔的序列

strTimeBegin = datetime.datetime.strptime(dataListFirst,'%Y-%m-%d')
        strTimeEnd = strTimeBegin + datetime.timedelta(days = 1)
        strTimeMi = datetime.timedelta(minutes = 1)
        
        
        while strTimeBegin < strTimeEnd:
            dataListItem = [strTimeBegin.strftime('%Y-%m-%d'), strTimeBegin.strftime('%H:%M:%S.%f')[0:-3]]
            returnDataList.append(dataListItem)
            strTimeBegin = strTimeBegin + strTimeMi

3.平均值计算

for i in range(lenreDataList):
            if i < len(returnDataList) - 1:
                timeBegin = returnDataList[i][1]
                timeEnd = returnDataList[i + 1][1]
            else:
                timeBegin = returnDataList[i][1]
                timeEnd = '23:59:59:999'
                
            dataListTemp = []
            for j in range(lenDataList):
                if dataList[j][1] > timeBegin and dataList[j][1] < timeEnd:
                    dataListTemp.append(dataList[j])
            
            for e in avgList:
                iCount = 0.0
                addValue = 0.0
                for k in range(len(dataListTemp)):
                    if dataListTemp[k][e] != self.errorValue:
                        addValue += float(dataListTemp[k][e])
                        iCount += 1.0
                if iCount != 0.0:
                    avgValue = '%.2e' %(addValue / iCount)
                else:
                    avgValue = -999.9
                returnDataList[i].append(avgValue)
        return returnDataList          


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值