python读取sqlserver的数据_Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例...
本文实例讲述了Python实现读取SQLServer数据并插入到MongoDB数据库的方法。分享给大家供大家参考,具体如下:
# -*- coding: utf-8 -*-
import pyodbc
import os
import csv
import pymongo
from pymongo import ASCENDING,DESCENDING
from pymongo import MongoClient
import binascii
'''连接mongoDB数据库'''
client = MongoClient('10.20.4.79',27017)
#client = MongoClient('10.20.66.106',27017)
db_name = 'SoftADoutput'
db = client[db_name]
'''连接SqlServer数据库'''
connStr = 'DRIVER={SQL Server Native Client 11.0};SERVER=DESKTOP-44P34L6;DATABASE=Softput;UID=sa;PWD=sa'
conn = pyodbc.connect(connStr)
cursor = conn.cursor()
#########################################Channel_CovCode数据插入##########################
'''从SQLServer数据库读取Channel_CovCode数据写入到mongodb数据库中Channel_CovCode集合中'''
def InsertChannel_CovCode(cursor):
cursor.execute("select dm,ms from channel_CovCode")
rows = cursor.fetchall()
i = 1
for row in rows:#gb18030
db.channel_CovCode.insert({'_id':i,'dm':row.dm,'ms':row.ms.decode('gbk').encode('utf-8')})
i = i + 1
InsertChannel_CovCode(cursor)
#############################################################################################
#########################################channel_ModeCode数据插入#############################
'''从SQLServer数据库读取channel_ModeCode数据写入到mongodb数据库中channel_ModeCode集合中'''
def InsertChannel_ModeCode(cursor):
cursor.execute("select dm,ms from channel_ModeCode")
rows = cursor.fetchall()
i = 1
for row in rows:#gb18030
db.channel_ModeCode.insert({'_id':i,'ms':row.ms.decode('gbk').encode('utf-8')})
i = i + 1
InsertChannel_ModeCode(cursor)
#############################################################################################
#########################################citynumb数据插入########################
'''从SQLServer数据库读取citynumb数据写入到mongodb数据库中citynumb集合中'''
def InsertCitynumb(cursor):
cursor.execute("select t.XZQMC,t.SMC,t.CSMC,t.SSQYDM,t.CITY_E,t.AREA_E,t.PROV_E from citynumb t")
rows = cursor.fetchall()
i = 1
for row in rows:
xzqmc = row.XZQMC
if xzqmc != None:
xzqmc = xzqmc.decode('gbk').encode('utf-8')
smc = row.SMC
if smc != None:
smc = smc.decode('gbk').encode('utf-8')
csmc = row.CSMC
if csmc != None:
csmc = csmc.decode('gbk').encode('utf-8')
db.citynumb.insert({'_id':i,'XZQMC':xzqmc,'SMC':smc,'CSMC':csmc,'SSQYDM':row.SSQYDM,'CITY_E':row.CITY_E,'AREA_E':row.AREA_E,'PROV_E':row.PROV_E})
i = i + 1
InsertCitynumb(cursor)
##################################################################################################################
#########################################channel数据插入############################
'''从SQLServer数据库读取channel数据写入到mongodb数据库中channel集合中'''
def InsertChannel(cursor):
cursor.execute("select pdcmc,pdemc,pdemcj,pdbm1,ssqydm,cov,sdate,mode,startTime,endTime,memo,pdtype,sflag,edate,corporation from channel")
rows = cursor.fetchall()
i = 1
for r in rows:
pdcmc = r.pdcmc
if pdcmc != None:
pdcmc = pdcmc.decode('gbk').encode('utf-8')
memo = r.memo
if memo != None:
memo = memo.decode('gbk').encode('utf-8')
corporation = r.corporation
if corporation != None:
corporation = corporation.decode('gbk').encode('utf-8')
db.channel.insert({'_id':i,'pdcmc':pdcmc,'pdemc':r.pdemc,'pdemcj':r.pdemcj,'pdbm1':r.pdbm1,'ssqydm':r.ssqydm,'cov':r.cov,'sdate':r.sdate,'mode':r.mode,'startTime':r.startTime,'endTime':r.endTime,'memo':memo,'pdtype':r.pdtype,'sflag':r.sflag,'edate':r.edate,'corporation':corporation})
i = i + 1
InsertChannel(cursor)
#############################################################################################
#########################################CPBZK数据插入############################
'''从SQLServer数据库读取CPBZK数据写入到mongodb数据库中CPBZK集合中'''
def InsertCPBZK(cursor):
cursor.execute("select ZTC,EZTC,ZTC_CODE,LBDM,B_CODE,QY_CODE,IChange,cla from CPBZK")
rows = cursor.fetchall()
i = 1
for r in rows:#gb18030
ztc = r.ZTC
if ztc != None:
ztc = ztc.decode('gbk').encode('utf-8')
db.CPBZK.insert({'_id':i,'ZTC':ztc,'EZTC':r.EZTC,'ZTC_CODE':r.ZTC_CODE,'LBDM':r.LBDM,'B_CODE':r.B_CODE,'QY_CODE':r.QY_CODE,'IChange':r.IChange,'cla':r.cla})
i = i + 1
InsertCPBZK(cursor)
#############################################################################################
#########################################TVPGMCLASS数据插入##########################
'''从SQLServer数据库读取TVPGMCLASS数据写入到mongodb数据库中TVPGMCLASS集合中'''
def InsertTVPGMCLASS(cursor):
cursor.execute("select ClassChDesc,ClassEnDesc,ClassCode,ParentCode,SortNo from TVPGMCLASS")
rows = cursor.fetchall()
i = 1
for r in rows:#gb18030
classChDesc = r.ClassChDesc
if classChDesc != None:
classChDesc = classChDesc.decode('gbk').encode('utf-8')
db.TVPGMCLASS.insert({'_id':i,'ClassChDesc':classChDesc,'ClassEnDesc':r.ClassEnDesc,'ClassCode':r.ClassCode,'ParentCode':r.ParentCode,'SortNo':r.SortNo})
i = i + 1
InsertTVPGMCLASS(cursor)
#############################################################################################
#########################################GGBZK_DESCRIPTION数据插入###########################
'''从SQLServer数据库读取GGBZK_DESCRIPTION数据写入到mongodb数据库中GGBZK_DESCRIPTION集合中'''
def InsertGGBZK_DESCRIPTION(cursor):
cursor.execute("select V_code,des_named,des_main,des_background,des_scene,des_words,ModifyFlag,UpdateDate from GGBZK_DESCRIPTION")
rows = cursor.fetchall()
i = 1
for r in rows:#gb18030
name = r.des_named
if name != None:
name = name.decode('gbk').encode('utf-8')
desmain = r.des_main
if desmain != None:
desmain = desmain.decode('gbk').encode('utf-8')
background = r.des_background
if background != None:
background = background.decode('gbk').encode('utf-8')
scene = r.des_scene
if scene != None:
scene = scene.decode('gbk').encode('utf-8')
words = r.des_words
if words != None:
words = words.decode('gbk').encode('utf-8')
db.GGBZK_DESCRIPTION.insert({'_id':i,'V_code':r.V_code,'des_named':name,'des_main':desmain,'des_background':background,'des_scene':scene,'des_words':words,'ModifyFlag':r.ModifyFlag,'UpdateDate':r.UpdateDate})
i = i + 1
InsertGGBZK_DESCRIPTION(cursor)
#########################################Z201607_027数据插入##########################
'''从SQLServer数据库读取Z201607_027数据写入到mongodb数据库中Z201607_027集合中'''
def InsertZ201607_027(cursor):
strSql = "select PD,RQ,SHIJIAN,ENDSHIJIAN,V_CODE,QUANLITY,SPECIAL,LANGUAGE,LENGTH,SLENGTH,QJM1,QJM2,QGG,HJM1,HJM2,HGG,DUAN,OSHIJIAN,JG,SORTNO,LURU,ZFILE,COST,ROWTS,COST1,COST2,COST3 from Z201607_027"
cursor.execute(strSql)
rows = cursor.fetchall()
i = 1
for r in rows:#gb18030
cost = float(r.COST) #COST money类型
cost1 = float(r.COST1)
cost2 = float(r.COST2)
cost3 = float(r.COST3)
#先把时间戳转为字符串,然后再转为十进制数
rowts = int(str(binascii.b2a_hex(r.ROWTS)),16)
luru = r.LURU
if luru != None:
luru = luru.decode('gbk').encode('utf-8')
vCODE = r.V_CODE
if vCODE != None:
vCODE = vCODE.decode('gbk').encode('utf-8')
db.Z201607_027.insert({'_id':i,'PD':r.PD,'RQ':r.RQ,'SHIJIAN':r.SHIJIAN,'ENDSHIJIAN':r.ENDSHIJIAN,'V_CODE':vCODE,'QUANLITY':r.QUANLITY,'SPECIAL':r.SPECIAL,'LANGUAGE':r.LANGUAGE,'LENGTH':r.LENGTH,'SLENGTH':r.SLENGTH,'QJM1':r.QJM1,'QJM2':r.QJM2,'QGG':r.QGG,'HJM1':r.HJM1,'HJM2':r.HJM2,'HGG':r.HGG,'DUAN':r.DUAN,'OSHIJIAN':r.OSHIJIAN,'JG':r.JG,'SORTNO':r.SORTNO,'LURU':luru,'ZFILE':r.ZFILE,'COST':cost,'ROWTS':rowts,'ExpandProperty':'','COST1':cost1,'COST2':cost2,'COST3':cost3})
i = i + 1
InsertZ201607_027(cursor)
#############################################################################################
希望本文所述对大家Python程序设计有所帮助。
python读取sqlserver的数据_Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例...相关推荐
- python批量读取图片并批量保存_Python实现批量读取图片并存入mongodb数据库的方法示例...
本文实例讲述了Python实现批量读取图片并存入mongodb数据库的方法.分享给大家供大家参考,具体如下: 我的图片放在E:\image\中,然后使用python将图片读取然后,显示一张,存入取一张 ...
- python 显示表格数据_python显示excel表格数据-怎么用python读取excel表格的数据
怎么用python读取excel表格的数据 #导入包 import xlrd #设置路径 path='C:\\Users\\jyjh\\Desktop\\datap.xlsx' #打开 data=xl ...
- python提取数据库数据_Python如何读取MySQL数据库表数据
本文实例为大家分享了Python读取MySQL数据库表数据的具体代码,供大家参考,具体内容如下 环境:Python 3.6 ,Window 64bit 目的:从MySQL数据库读取目标表数据,并处理 ...
- python获取erp数据_python自学之路-数据读取
人家都说人生苦短, 要学Python.我也是看中计算机快速处理数据的优势,非常想学习这门语言,这真要开始了,确实觉得万事开头难,就此记录下这其中点点滴滴. 系统学习有些大海捞针,还是根据自己的实际需要 ...
- python怎么读数据_Python如何读取数据
一.从文本中读取数据 Python可以读取任何格式的文本数据,使用Python读取文本数据一般分为三个步骤.分别是:定义数据文件.获取文件对象.读取文件内容.下面让小编来分别解释它们是如何实现的. 定 ...
- python 读取鼠标选中文本_python怎么读取文本文件
python怎么读取文本文件? 文件的读取 步骤:打开 -- 读取 -- 关闭 1 >>> f = open('/tmp/test.txt') 2 >>> f.re ...
- python的浮点数占字节_Python二进制文件读取并转换为浮点数详解
本文所用环境: Python 3.6.5 |Anaconda custom (64-bit)| 引言 由于某些原因,需要用python读取二进制文件,这里主要用到struct包,而这个包里面的方法主要 ...
- python如何读取二进制文件为图片_Python二进制文件读取并转换
Python二进制文件读取并转换 Python二进制文件读取并转换 标签(空格分隔): python 本文所用环境: Python 3.6.5 |Anaconda custom (64-bit)| 引 ...
- python动态爬取实时_python爬取动态数据实战---猫眼专业版-实时票房(二)
学习python进行简单的数据爬取(基于python 3.x).再进行数据页面解析之后,使用scrapy框架进行爬取数据.没有实现自己预想的效果,着实是自己能力有限,无法灵活使用该框架.就使用自己的办 ...
最新文章
- 2017年9月16日普级组 在食人百货绽放的蓝蔷薇
- map,存储多个键值对的数据集合
- React开发(172):React引入背景图片
- Linux学习笔记-标准库中的管道操作
- OpenCV精进之路(十五):特征检测和特征匹配方法汇总
- 浅复制和深复制的区别?//浅拷贝和深拷贝
- Word中的Visio图直接转换为图片
- android wps页面设置,WPS中设置纸张的方法
- ZEMAX光学设计实践
- NAT穿透原理(转载)
- Ubuntu 回收站目录
- 免费4s店汽车保养维修记录查询的方式
- Python爬虫实训案例之爬取豆瓣电影Top250并保存至excel
- mysql mgr recovering_mysql group replication recovering 怎么调整为 online
- [五一随想] 生活长乐
- 微信第三方授权生成二维码api
- 科目二需要注意的点(笔记包含图片讲解)
- 删除linux系统后无法开机启动,Win10/Linux双系统为什么把Linux删掉之后就不能正常启动开机了该如何处理恢复...
- 英伟达服务器显卡多实例技术(MIG)
- ALPEN阿尔卑斯山时间管理法
热门文章
- Codis 分布式缓存部署
- DZ论坛系统 UC_KEY拿webshell
- Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlFmtTLV
- 怎样呵护友谊_呵护真正的友情,助力漫长的人生
- alert闪一下就没了_尾部贯穿式镀铬银饰条除了丑,还能闪瞎眼
- oracle 读懂10046视频,10046、10053、实操记录
- BE的完整形式是什么?
- stl make_heap_通过使用make_heap()创建堆| C ++ STL
- linux重定向命令是干嘛的,Linux系统下重定向命令应用及其语法有什么?
- 智能关机软件 c语言,智能关机软件