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这种自增主键允许为空

pandas,读取或存储DataFrames的数据到mysql中的更多相关文章

  1. flink04 -----1 kafkaSource 2. kafkaSource的偏移量的存储位置 3 将kafka中的数据写入redis中去 4 将kafka中的数据写入mysql中去

    1. kafkaSource 见官方文档 2. kafkaSource的偏移量的存储位置 默认存在kafka的特殊topic中,但也可以设置参数让其不存在kafka的特殊topic中   3   将k ...

  2. Scrapy基础(十二)————异步导出Item数据到Mysql中

    异步导出数据到Mysql中 上次说过从Item中同步写入数据库,因为网络的下载速度和数据库的I/O速度是不一样的所以有可能会发生下载快,但是写入数据库速度慢,造成线程的堵塞:关于堵塞和非堵塞,同步和异 ...

  3. Hive扩展功能(三)--使用UDF函数将Hive中的数据插入MySQL中

    软件环境: linux系统: CentOS6.7 Hadoop版本: 2.6.5 zookeeper版本: 3.4.8 主机配置: 一共m1, m2, m3这五部机, 每部主机的用户名都为centos ...

  4. Oracle数据导入Mysql中

    一.Navicat Premium中的数据迁移工具 为了生产库释放部分资源,需要将API模块迁移到mysql中,及需要导数据. 尝试了oracle to mysql工具,迁移时报错不说,这么大的数据量 ...

  5. 如何通过PHP将excel的数据导入MySQL中

    在开发PHP程序时,很多时候我们会有将数据批量导入数据库的需求,如学生信息批量添加到数据库中,而事先用excel编排好,对excel实行操作,便是我们比较常用的选择方式. 在对excel的操作中,ph ...

  6. 详解用Navicat工具将Excel中的数据导入Mysql中

    第一步:首先需要准备好有数据的excel: 第二步:选择"文件"->"另存为",保存为"CSV(逗号分隔)(*.csv)",将exce ...

  7. 把excel数据导入mysql中

    适用:每列的数据都不是以逗号分隔. 1.在mysql建表,全部字段与表头相同且顺序一致 2.将excel另存为csv格式,用Editplus把CSV文件另存为UTF-8编码格式 3.执行load da ...

  8. DATE类型数据在MySql中减一天的问题

    最近在开发一个教务管理系统,数据库中有教师表(Teacher).学生表(Student)等,其中属性:出生日期(Birthday)为DATE类型. 在执行更新教师操作时,发现未改动教师的出生日期但更新 ...

  9. MySQL 数据库查询数据,过滤重复数据保留一条数据---(MySQL中的row_number变相实现方法)

    转自: http://www.maomao365.com/?p=10564 摘要: 下文讲述MySQL数据库查询重复数据时,只保留一条数据的方法 实现思路: 在MySQL数据库中没有row_numbe ...

随机推荐

  1. CentOS 与Ubuntu 下配置IP地址

    1.CentOS配置方法如下: 用vi打开配置文件 [root@haha3 ~]#  vi /etc/sysconfig/network-scripts/ifcfg-eth0 写入以下配置 DEVIC ...

  2. 解决spring-boot配置文件使用加密方式保存敏感数据启动报错No decryption for FailsafeTextEncryptor. Did you configure the keystore correctly

    spring-boot配置文件使用加密方式保存敏感数据 application.yml spring: datasource: username: dbuser password: '{cipher} ...

  3. 根据导出的查询结果拼接字符串,生成sql语句并保存到txt文件中

    import os os.chdir("C:/") path = os.getcwd() print(path) f = open("sql.csv") # p ...

  4. Scrapy实战篇(八)之爬取教育部高校名单抓取和分析

    本节我们以网址https://daxue.eol.cn/mingdan.shtml为初始链接,爬取教育部公布的正规高校名单. 思路: 1.首先以上面的地址开始链接,抓取到下面省份对应的链接. 2.在解 ...

  5. 2、Redis 底层原理:Cluster 集群部署与详解

    Redis 简介 Redis 提供数据缓存服务,内部数据都存在内存中,所以访问速度非常快. 早期,Redis 单应用服务亦能满足企业的需求.之后,业务量的上升,单机的读写能力满足不了业务的需求,技术上 ...

  6. 实现poster,json,base64等编码转码工具

    自己写的一个工具集合(win窗口程序), 1.有时间戳转换,支持10位浮点数转换, 2.json字符串解析, 3.url编码与解码, 4.base64字符串的解码与转码, 5.base64图片的转码与 ...

  7. vs2015中SQLSERVER数据库项目引用系统视图

    近期使用VS中的SQLSERVER数据库项目进行项目开发,由于有很多自动化脚本会访问系统视图,例如sysobjects之类的,在项目中的脚本总是提示无法解析的引用,解决办法如下: 添加数据库引用 添加 ...

  8. python数据类型、if判断语句

    python的数据类型: int(整型) float(浮点型) #相较c++,去除了char.long.longlong... str(字符串)    #同等c++ sting类型 list(列表) ...

  9. vue文件上传

    今天写一个文件上传的功能,开始想用element-ui的组件写,但是发现不知道怎么把文件标题和内容一起上传,所以用了经典的input框上传. 废话不多说,直接上代码. 这是表单: <el-for ...

  10. mysql创建用户并分配权限

    添加新用户 允许本地 IP 访问 localhost, 127.0.0.1 create user 'test'@'localhost' identified by '123456'; 允许外网 IP ...