从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 ...
随机推荐
- Spring 拦截器实现+后台原理(HandlerInterceptor)
过滤器跟拦截器的区别 spring mvc的拦截器是只拦截controller而不拦截jsp,html 页面文件的.这就用到过滤器filter了,filter是在servlet前执行的,你也可以理解成 ...
- int __get_order(unsigned long size)
2017-12-6 10:26:504.9.51int __get_order(unsigned long size){ int order; size--; size >>= ...
- jvm看java.lang.OutOfMemoryError: PermGen space
异常现象 异常信息如下 java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native M ...
- LitePal 数据库使用方法(最新2.0LitePal数据库适用)
转发郭神的blog,讲的非常详细,是基于1.6版本,但现在使用的是2.0,有点差别https://blog.csdn.net/guolin_blog/article/details/384612391 ...
- E. Intersection of Permutations
题意:给两个排列,2种操作1,查询两个区间a和b一样的值个数,2,交换b的两个值 题解:树套树,先把a变成1到n的排列,对b做相同的变换,然后问题就变成了查询区间lb,rb中la到ra的个数,带修改可 ...
- Android之Activity生命周期详解
Activity的生命周期方法: onCreate()--->onStart()--->onResume()--->onPause()--->onStop()--->on ...
- python--model进阶
一.QuerySet 1.可切片 使用Python 的切片语法来限制查询集记录的数目 .它等同于SQL 的LIMIT 和OFFSET 子句. >>> Entry.objects.a ...
- rac 配置dg完成版
********************************************************************************************集群环境下的da ...
- MinGW安装教程( MinGW - Minimalist GNU for Windows)
首先说明一下 1) MinGw只是其中一种GCC编译环境的安装程序,还有像Cygwin也是差不多的; 2) 还要就是安装MinGw,最好在一个网络比较好的环境中进行, (有可能导致后来安装其他软件像 ...
- Beta阶段——第5篇 Scrum 冲刺博客
Beta阶段--第5篇 Scrum 冲刺博客 标签:软件工程 一.站立式会议照片 二.每个人的工作 (有work item 的ID) 昨日已完成的工作 人员 工作 林羽晴 完成了邮箱发送功能的测试,测 ...