使用Python将MongoDB中的数据转存到MySQL中的一次尝试

打算把整个项目上传到 github 上,但是数据啥的都保存在 MongoDB 中,因为没找到把 MongoDB 导出到 sql 脚本的方式,遂决定将数据从 Mongo 中提取出来,再放到 MySQL 中,这样就可以导出 sql 脚本文件,或者是 Excel 文件啦!

#coding=utf-8
import pymongo
import MySQLdb

#--------------------------数据库启动函数------------------------------
def start_MySQL():
    conn = MySQLdb.connect(
            host='localhost',
            port = ???,
            user='???',
            passwd='???',
            db ='temple_comment_table',
            charset='gbk')
    cur = conn.cursor()
    myConn_list = [conn, cur]
    return myConn_list
#---------------------------------------------------------------------

#--------------------------关闭数据库--------------------------------
def close_MySQL(cur,conn):
    cur.close()
    conn.commit()
    conn.close()
#------------------------------------------------------------------

if __name__ == "__main__":
    client = pymongo.MongoClient('localhost', 27017)
    TempleSpider = client['TempleSpider']
    temple_comment_collect = TempleSpider['temple_comment_collect']

    myConn_list = start_MySQL()
    cur = myConn_list[1]
    conn = myConn_list[0]

    sqli = "insert into temple_comment values(%s,%s,%s)"

    for temple in temple_comment_collect.find():
        try:
            cur.execute(sqli, (temple['data_source'],
                               temple['temple_name'],
                               temple['temple_comment']))

            print(temple)
        except:
            pass

    close_MySQL(cur, conn)

MongoDB
使用Python将MongoDB中的数据转存到MySQL中的一次尝试_第1张图片

MySQL
使用Python将MongoDB中的数据转存到MySQL中的一次尝试_第2张图片

因为字符编码的缘故,莫名其妙的丢了 1k+ 的数据 :(

使用Python将MongoDB中的数据转存到MySQL中的一次尝试_第3张图片

你可能感兴趣的:(Python基础)