本文共 2809 字,大约阅读时间需要 9 分钟。
1.db.upate 数据更新
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 timesum = 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.pltfListif 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:listfor 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)#更新数据
转载地址:http://egini.baihongyu.com/