MySQL批量写

 import MySQLdb
def insert_no(self,lis):#批量写的方法
        sql="REPLACE INTO tm_devicestatuspointone_test(DeviceNumber,DeviceState,LocationType,DeviceLat,DeviceLng,BeginTime,EndTime,TimeSpan,PointSource,CheckDate) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
        self.cursor.executemany(sql,lis)
        self.con.commit()

    def insert(self,lis):
        sql="INSERT INTO tm_devicestatuspoint_test(Id,DeviceNumber,DeviceState,LocationType,DeviceLat,DeviceLng,BeginTime,EndTime,TimeSpan,PointSource,CheckDate) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
        self.cursor.executemany(sql,lis)
        self.con.commit()
    def ext_dealjson(self,ss):
         lis=[]
         lis1=[]
         num =0
         for i in range(0,len(ss)):
                   ids=self.ids
                   dt_start = datetime.datetime.fromtimestamp(ss[i]['starttime'])
                   dt_end = datetime.datetime.fromtimestamp(ss[i]['endtime'])
                   str_starttime = dt_start.strftime("%Y-%m-%d %H:%M:%S")
                   str_endtime = dt_end.strftime("%Y-%m-%d %H:%M:%S")
                   str_checkdate = datetime.datetime.fromtimestamp(ss[i]['t']).strftime("%Y-%m-%d")
                   if ss[i]['endtime']==0:#根据字段分表
                       timespan=0
                       data2=(ss[i]['imei'],ss[i]['status'],ss[i]['loctype'],'%0.7f' % ss[i]['startlat'],'%0.7f' % ss[i]['startlng'],str_starttime,str_endtime,timespan,-1,str_checkdate)
                       lis1.append(data2)
                   else:
                       timespan = ss[i]['endtime'] - ss[i]['starttime']
                       et=1
                       data=(ids,ss[i]['imei'],ss[i]['status'],ss[i]['loctype'],'%0.7f' % ss[i]['startlat'],'%0.7f' % ss[i]['startlng'],str_starttime,str_endtime,timespan,-1,str_checkdate)
                       lis.append(data)
                       self.ids+=1
         if 1:
                   self.insert(lis)#执行批量写方法
                   self.insert_no(lis1)
                   lis=[]
                   lis1=[]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值