微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pandas,读取或存储DataFrames的数据到mysql中

dataFrames格式的数据是表格形式的,MysqL数据库中的数据也是表格形式的,二者可以很方便的读取存储   安装依赖的包
pip install pandas
pip install sqlalchemy
pip install pyMysqL

使用方法 

第一步:建立MysqL数据库的连接

connect_info = 'MysqL+pyMysqL://{}:{}@{}:{}/{}?charset=utf8'.format("username", "password", "host", "port", "db数据库名")
engine = create_engine(connect_info)

 

第二步:读取存储数据库

此步使用的engine为第一步创建的数据库连接

1、读取数据库中的内容【read_sql

import pandas
pandas.read_sql("sql语句", engine)
 

2、存储dataFrame数据到数据库中【to_sql

df.to_sql(name='table表名',
          con=engine,
          if_exists='append',
          index=False,
          dtype={'IterationId': sqlalchemy.types.Integer(),
                 'title': sqlalchemy.types.NVARCHAR(length=255)
                 }
               )

 

方法说明: df:dataFrame格式的数据,可以通过DataFrame()方法创建一个该对象 pandas.DataFrame({"ID": [], "标题": []}) name:存储到的表名 con:第一步创建的数据库链接 if_exists:     fail:如果表存在,什么也不做     replace:如果表存在,drop掉表,重新创建一个表,插入数据     append:如果表不存在,创建表插入数据;如果表存在,原表追加数据存储 dtype:表字段对应过去的类型,例子举了整形和字符两种;(列不指定类型的话会用认类型,但是如果类型不匹配会抛错)     注意点: 1、to_sql的源数据,列名必须和数据库里对应;且不能比数据库中列名多 如果缺少列名,会直接填充缺省值 2、缺省的列,要有认值 存储到sql的列信息可以为空,但前提是数据库表字段写了认值;或者类似id这种自增主键允许为空

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐