1.db.upate 数据更新
http://webpy.org/cookbook/update.zh-cn
import web
db = web.database(dbn=’postgres’, db=’mydata’, user=’dbuser’, pw=”)
db.update(‘mytable’, where=”id = 10”, value1 = “foo”)
2.db.insert插入数据
代码示例:
import sys
reload(sys)
sys.setdefaultencoding(‘utf8’)
import web
import json
import time
sum = 0
path = “/XXX_jason.txt”#从mongdb导出的数据,以json的格式(key-value)存储
info = list()
rrh_Version = list()
rrh_SN = list()
class getPltfList(object):
def init(self):
self.db = web.database(dbn=’mysql’, db = ‘test’, user = ‘root’, pw= ”, host = ‘127.0.0.1’)
self.db.printing = True
def call(self):
return self.createPltfList()
def createPltfList(self):
self.pltfList = list(self.db.query(‘select instant_time, name, ip from EPISODE_INSTANT_INFO order by id DESC’))
return self.pltfList
if name == ‘main’ :
pltfList = getPltfList()()
db = web.database(dbn=’mysql’, db = ‘test’, user = ‘root’, pw= ”, host = ‘127.0.0.1’)
for line in open(path):
line = str(line).replace("null","None")
info = eval(line)#type:list
for record in info:
Refresh_Time = record.get('Refresh_Time')
Name = record.get('Cfg').get('Register_Name')
IP = record.get('Cfg').get('Debug_IP')
if type(record.get('BB')) == dict:
if type(record.get('BB').get('BB2')) == dict:
CEM1_Uptime = record.get('BB').get('BB2').get('Uptime')
CEM1_Load = record.get('BB').get('BB2').get('Load_Average')
CEM1_CpuUsage = record.get('BB').get('BB2').get('CPU_Usage')
CEM1_MemUsage = record.get('BB').get('BB2').get('Mem_Usage')
else:
CEM1_Uptime = None
CEM1_Load = None
CEM1_CpuUsage = None
CEM1_MemUsage = None
# print 'IP'
# print IP
del RRH['RRH_List']
rrh_Version =[]
rrh_SN = []
for rrh_list in RRH:
rrh_Version.append(dict(RRH[rrh_list]).get('Version'))
rrh_SN.append(dict(RRH[rrh_list]).get('Serial_Number'))
RRH_Version = (' ').join(rrh_Version)#将list转换成str
RRH_SN = (' ').join(rrh_SN)
tmp = 1
flag = 1
for pltf in pltfList:
if Name == pltf['name'] and IP == pltf['ip']:
flag = 1;
print Name
sum += 1
Instant_time = str(pltf['instant_time'])
# print type(str(Instant_time))
mongo_time = time.strptime(Refresh_Time, '%Y-%m-%d %H:%M:%S')
mysql_time = time.strptime(Instant_time, '%Y-%m-%d %H:%M:%S')
if time.mktime(mongo_time) > time.mktime(mysql_time):#对时间戳进行比对,格式为2016-04-14 16:30:01
tmp = 1;
break
break
else:
tmp = 0
flag = 0
if tmp == 0 and flag == 0:
db.insert('EPISODE_INSTANT_INFO',instant_time=Refresh_Time,name=Name, ip=IP)#插入数据
elif tmp == 1 and flag == 1:
db.update('EPISODE_INSTANT_INFO',where='ip=\'' + IP +'\'',instant_time=Refresh_Time)#更新数据