从mysql读取数据写入mongo
# coding:utf-8
# Created by qinlin.liu at 2017/3/14
import pymysql
import datetime
#pymongo说明文档 : http://api.mongodb.com/python/current/api/pymongo/collection.html
#from pymongo import MongoClient
config = {
"mysql_110": {
"host": "172.18.28.110",
"port":3306,
"user": "reader",
"password": "reader",
"db": "pgenius",
"charset":"utf8"
},
"mongodb_nomal":{
"host": "172.18.135.30",
"replicaset": "athena",
}
}
#连接mysql
mysql_conn=pymysql.connect(**config["mysql_110"])
sql="""
SELECT
SEQ
,STOCKCODE
,CTIME
,MTIME
,TRADEDATE
FROM PGENIUS.QW_STK_TRD_STAT
WHERE TRADEDATE=(SELECT MAX(TRADEDATE) FROM PGENIUS.QW_STK_TRD_STAT)
LIMIT 41
"""
#执行sql
cursor=mysql_conn.cursor()
cursor.execute(sql)
#获取所有查询结果
datas=cursor.fetchall()
print(datas)
ds=[]
for i in datas:
#print(list(i))
#print({"SEQ":i[0],"STOCKCODE":i[1],"CTIME":str(i[2]),"MTIME":str(i[3]),"TRADEDATE":i[4]})
ds.append({"SEQ":i[0],"STOCKCODE":i[1],"CTIME":str(i[2]),"MTIME":str(i[3]),"TRADEDATE":i[4]})
#连接mongo
from pymongo import MongoClient
#mongo_conn=MongoClient(host="172.18.3.130",port=27017,tz_aware=False,uri="mongodb://z3dbusadmin:z3dbusadmin@117.121.98.91:27017/z3dbus?authMechanism=SCRAM-SHA-1")
mongo_conn =MongoClient(**config["mongodb_nomal"])
db=mongo_conn["base"]
account=db["TEST_TIME_WL"]
#print(list(coll.find({"FUNDCODE":"510050"})))
#写入数据
for i in datas:
print(list(i))
print({"SEQ":i[0],"STOCKCODE":i[1],"CTIME":str(i[2]),"MTIME":str(i[3]),"TRADEDATE":i[4]})
account.insert({"SEQ":i[0],"STOCKCODE":i[1],"CTIME":i[2],"MTIME":i[3],"TRADEDATE":i[4]})
'''((22430821, 'QWIN11', datetime.datetime(2017, 6, 1, 10, 8, 41), datetime.datetime(2017, 6, 1, 10, 8, 41), 20170601)
, (22434141, 'QWIN11', datetime.datetime(2017, 6, 1, 10, 34, 43), datetime.datetime(2017, 6, 1, 10, 34, 43), 20170601), (22437461, 'QWIN11', datetime.datetime(2017, 6, 1, 11, 5, 31), datetime.datetime(2017, 6, 1, 11, 5, 31), 20170601), (22440781, 'QWIN11', datetime.datetime(2017, 6, 1, 11, 38, 22), datetime.datetime(2017, 6, 1, 11, 38, 22), 20170601), (22427579, '600000', datetime.datetime(2017, 6, 1, 10, 8, 41), datetime.datetime(2017, 6, 1, 10, 8, 41), 20170601), (22430899, '600000', datetime.datetime(2017, 6, 1, 10, 34, 43), datetime.datetime(2017, 6, 1, 10, 34, 43), 20170601), (22434219, '600000', datetime.datetime(2017, 6, 1, 11, 5, 31), datetime.datetime(2017, 6, 1, 11, 5, 31), 20170601), (22437539, '600000', datetime.datetime(2017, 6, 1, 11, 38, 22), datetime.datetime(2017, 6, 1, 11, 38, 22), 20170601), (22427580, '600004',
'''
从mysql读取数据写入mongo的更多相关文章
- PHP MySQL 读取数据
PHP MySQL 读取数据 从 MySQL 数据库读取数据 SELECT 语句用于从数据表中读取数据: SELECT column_name(s) FROM table_name 如需学习更多关于 ...
- 关于使用Binlog和canal来对MySQL的数据写入进行监控
先说下Binlog和canal是什么吧. 1.Binlog是mysql数据库的操作日志,当有发生增删改查操作时,就会在data目录下生成一个log文件,形如mysql-bin.000001,mysql ...
- Redis 中文入库成功,读取数据写入文件乱码问题
近期须要用到redis ,可是在编码这个问题上,纠结了非常久. 需求 :每天一个进程将中文文件入库到redis中(不定时更新) ,另外几个进程读取redis中的信息 ,并处理数据结果.使 ...
- 《程序实现》从xml、txt文件里读取数据写入excel表格
直接上码 import java.io.BufferedReader; import java.io.DataInputStream; import java.io.File; import java ...
- Flink 使用(一)——从kafka中读取数据写入到HBASE中
1.前言 本文是在<如何计算实时热门商品>[1]一文上做的扩展,仅在功能上验证了利用Flink消费Kafka数据,把处理后的数据写入到HBase的流程,其具体性能未做调优.此外,文中并未就 ...
- 用kettle从mysql中使用存储过程读取数据写入到sqlserver数据库
1.mysql存储过程,可以实现动态表读取,满足较为复杂的业务逻辑 DROP PROCEDURE if exists p_get_car_trace; delimiter // CREATE PROC ...
- C#操作mysql数据库,往mysql读取或者写入数据
最近在开发的一个项目,需要将数据存贮在mysql数据库中,于是需要写一个操作mysql的帮助类,我采用的是官方的,还是先给出一个链接,后面有时间的话,继续更新. http://blog.csdn.ne ...
- Python将MySQL表数据写入excel
背景:将mysql表查询结果写入excel. 1.使用sqlyog工具将查询结果导出到Excel.xml中,用excel打开发现:因为text字段中有回车换行操作,显示结果行是乱的. 2.用mysql ...
- java读取数据写入txt文件并将读取txt文件写入另外一个表
package com.xsw.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.F ...
随机推荐
- mysql索引优化比普通查询速度快多少
mysql索引优化比普通查询速度快多少 一.总结 一句话总结:普通查询全表查询,速度较慢,索引优化的话拿空间换时间,一针见血,所以速度要快很多. 索引优化快很多 空间换时间 1.软件层面优化数据库查询 ...
- (转)c# 扩展方法
扩展方法能够向现有类型“添加”方法,而无需创建新的派生类型,重新编译或以其他方式修改原始类型.扩展方法必须是静态方法,可以像实例方法一样进行调用.且调用同名中实际定义的方法优先级要高于扩展方法. 先来 ...
- Spring Boot设置值:分别用@ConfigurationProperties和@Value给属性设值及其区别
@ConfigurationProperties给属性映射值编写JavaBean/** 将配置文件application.properties中配置的每一个属性值映射到当前类的属性中:* @Confi ...
- Backup and Recovery Types
Physical(Raw) and Logical Backup: 1.Physical backups consist of raw copies of the directories and fi ...
- Getting started with Processing 第十一章——数组
Getting started with Processing 第十一章——数组 从变量到数组: 使用数组,无需为每一个变量创建一个新的名称/这让代码变得更短,更容易理解,更方便更新. 创建数组的三个 ...
- 使用absolute布局
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- apiCloud 版本号
应用版本号:this.appVersion = api.appVersion; 更新系版本的时候可用来比较
- Sereja and Two Sequences CodeForces - 425C (dp)
大意: 给定序列$a,b$, 每次可以任取两个相同大小的$a_i,b_j$删除$a_i,b_j$左侧所有元素, 花费为e, 得分1, 最后结束时必须再花费之前删除元素的个数, 不得分. 初始能量$s$ ...
- object对象转string字符串
var obj = {}; obj=new Array; obj.name='小王'; obj.sex='男'; var str=JSON.string(obj)
- echarts3使用总结2
接着上一篇文章补充一点项目中遇到的问题及解决方法 1.y轴正负轴调换 yAxis: { inverse: false, //y轴正负轴调换 }, 2.去掉图表背景线 yAxis: [ ...