zoukankan      html  css  js  c++  java
  • dataframe to sql

    使用pandas的to_sql时,还涉及到一些sql数据库的操作

    在网上找到一段代码,很方便使用。来源:blog.csdn.net/qcyfred/article/details/78085243?locationNum=8&fps=1

    不过得先自己使用sql语言命令建立起数据库(当然用python来建立也行,比较麻烦太多命令记不清楚了)

    from sqlalchemy import create_engine  
          
    db_info = {'user':'user',  
        'password':'pwd',  
        'host':'localhost',  
        'database':'xx_db'  
    }  
          
    engine = create_engine('mysql+pymysql://%(user)s:%(password)s@%(host)s/%(database)s?charset=utf8' % db_info,encoding='utf-8')    #这里直接使用pymysql连接
    # engine = create_engine("mysql://root:@localhost:3306/webpy?charset=utf8",encoding="utf-8", echo=True)(之前用这个,结果报错没有mysqldb的包,正好之前用的就是pymysql我也没安装这个就换了)

    不过这里得先安装一下sqlalchemy包

    df.to_sql('t_trade_record',engine,index=False,if_exists=“xxx”)# 就可以把其生成在对应的数据库下的一张表了(注意第一个参数不需要.sql)

    -----------------------------------------------------------------------------------------------------------------------------------------------------

    遇到的问题:

    1、如上:

    我观察了一下我的dataframe里面,也没有出现一些这样的乱码东西,也不知道咋回事,但好像不影响最终结果

    2.安装sqlalchemy时

    但再试一下就成功了。。。

    --------------------------------------------------------------------------------------------------------------------------------------------------------

    更新:

    https://stackoverflow.com/questions/32235696/pandas-to-sql-gives-unicode-decode-error  这里有一篇关于连接数据库的问答

    ENGINE = create_engine("mssql+pymssql://" +
                           config.get_local('CEDS_USERNAME') + ':' +
                           config.get_local('CEDS_PASSWORD') + '@' +
                           config.get_local('CEDS_SERVER') + '/' +
                           config.get_local('CEDS_DATABASE'),
                           encoding="utf-8")

    但我没试过上面的,应该可以吧

  • 相关阅读:
    python 3字符编码
    python 数据类型 datatype
    部署python django程序
    linux centos7安装python3
    关于mysql数据库优化
    关于bottle WEB框架中签名cookie的一点理解
    1111
    bottle框架剖析
    the difference __str__ and __repr__
    property getitem setitem
  • 原文地址:https://www.cnblogs.com/cymwill/p/8288667.html
Copyright © 2011-2022 走看看