from pymongo import MongoClient import psycopg2 import datetime import random import os os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8' import sys from decimal import * def get_date(days): return datetime.datetime.now() - datetime.timedelta(days=days) ######################################## def main(arg=sys.argv):# 获取运行时参数 for i in arg: if 'ID' in i: ID = i.split("=")[1] # 连接postgreSql connPg = psycopg2.connect(database="haiyoung", user="haiyoung", password="xxxxxx", host="127.0.0.1", port="2333") cur = connPg.cursor() # 从 table 中取出 id = 008459aea6a04110b3e7b070ca3d0087 的所有值 cur.execute("SELECT * FROM tableName where id = '008459aea6a04110b3e7b070ca3d0087';") rows = cur.fetchall() # 取出所有满足条件的数据 # 连接Mongodb connMongo = MongoClient('127.0.0.1', 20000) db = connMongo.mydb #连接mydb数据库,没有则自动创建 db.authenticate("haiyoung", "xxxxxx") #用户校验 my_set = db.hy_collection #使用 hy_collection 集合,没有则自动创建 #插入数据 Mongo pg # my_set.insert({"runtime_id":"123","date":date,"value":18}) # my_set.insert({"id":id, "date":rows[i].date, "test_id":rows[i].test_id, "weight":rows[i].weight}) # bson 暂不支持 datetime 以及 decimal 类型自动转换,需另行处理 rows[i][1].strftime('%Y-%m-%d') "weight":float(rows[i][3]) for i in range(len(rows)): my_set.insert({"id":ID, "date":rows[i][1].strftime('%Y-%m-%d'), "test_id":rows[i][2], "weight":float(rows[i][3])}) cur.execute("INSERT INTO tableName(id,date,test_id,weight)VALUES(%s,%s,%s,%s)",(ID,rows[i][1],rows[i][2],rows[i][3])) connPg.commit() cur.close() connPg.close() main(sys.argv)
python连接MongoDB和PostgreSQL
猜你喜欢
转载自blog.csdn.net/haiyoung/article/details/79007467
今日推荐
周排行