• 使用pandas模块把redis或mongodb中的数据转存到mysql中的方法


    连接mysql

    """
    需要下载 sqlalchemy
    pip install sqlalchemy -i https://pypi.douban.com/simple/
    """
    
    from sqlalchemy import create_engine
    # 初始化数据库连接,使用pymysql模块
    # MySQL的用户:admin, 密码:******, 端口:3306,数据库:test
    engine = create_engine('mysql+pymysql://admin:******@192.168.12.**:3306/test')
    
    # read_sql_query的两个参数: sql语句, 数据库连接
    sq = pd.read_sql_query('select * from kanyun_logs', engine)
    print(sq)
    # 新建一个pandas的DataFrame,储存为MySQL的数据表, 不存index列
    dt = pd.DataFrame({'id': [1, 2, 3, 4], 'name': ['aa', 'bb', 'cc', 'dd']})
    # dt.to_sql('mydf', engine, index=False)
    

    pandas 连接mongodb数据库

    import pymongo
    cli = pymongo.MongoClient(host='192.168.12.***', port=27017)
    # 连接数据库并执行用户认证
    db = cli.work
    db.authenticate('lagou', '111111')
    
    # 获取表
    table = db.wuhan
    info = table.find({}, {'_id': 0})
    lie = []
    for i in info:
        lie.append(i)
        
    # 把查出来的数据,转换成DataFrame对象储存到MySQL数据库中
    mys = pd.DataFrame(lie)
    mys.to_sql('test', engine, index=True)
    
    to_sql()
    
    to_sql参数说明:
    (数据,表名,con=连接键,schema='数据库名',if_exists='操作方式')    操作方式有append、fail、replace
    append:如果表存在,则将数据添加到这个表的后面
    fail:如果表存在就不操作
    replace:如果存在表,删了,重建
    index: 默认为True,表示把index的索引号添加进去,如果不需要则需要更改为False
    因此上面的插入语句可以更改为
    mys.to_sql('test', engine, index=True, if_exists='append')
    实现再test表中追加写入数据
    
    

    通过pandas的DataFrame操作实现从mongondb或redis数据库章查询出来的数据进行互相存储

  • 相关阅读:
    hyper虚拟机下对centos进行动态扩容
    《C#高级编程第七版》多线程之Events
    借鉴StanZhai核心代码,写了个博客园采集器
    文档转换之PDF转换为HTML
    书香电子书下载地址分析器
    c#常用类库及资源
    iis7.5 配置伪静态
    根据枚举类型获取描述
    从客户端检测到有潜在危险的Request.Form值
    Sql行列转换
  • 原文地址:https://www.cnblogs.com/tiaowangdeying/p/10542915.html
Copyright © 2020-2023  润新知