python3 pandas 读取MySQL数据和插入的实例


Posted in Python onApril 20, 2018

python 代码如下:

# -*- coding:utf-8 -*-
import pandas as pd
import pymysql
import sys
from sqlalchemy import create_engine

def read_mysql_and_insert():
 
 try:
  conn = pymysql.connect(host='localhost',user='user1',password='123456',db='test',charset='utf8')
 except pymysql.err.OperationalError as e:
  print('Error is '+str(e))
  sys.exit()
  
 try:
  engine = create_engine('mysql+pymysql://user1:123456@localhost:3306/test')
 except sqlalchemy.exc.OperationalError as e:
  print('Error is '+str(e))
  sys.exit()
 except sqlalchemy.exc.InternalError as e:
  print('Error is '+str(e))
  sys.exit()
  
 try: 
  sql = 'select * from sum_case'
  df = pd.read_sql(sql, con=conn) 
 except pymysql.err.ProgrammingError as e:
  print('Error is '+str(e))
  sys.exit() 

 print(df.head())
 df.to_sql(name='sum_case_1',con=engine,if_exists='append',index=False)
 conn.close()
 print('ok')
 
if __name__ == '__main__': 
 df = read_mysql_and_insert()

另外需要注意的还有。

1) test数据库里有两个表,建表语句如下:

CREATE TABLE `sum_case` ( 
 `type_id` tinyint(2) DEFAULT NULL, 
 `type_name` varchar(5) DEFAULT NULL, 
 KEY `b` (`type_name`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `sum_case_1` ( 
 `type_id` tinyint(2) DEFAULT NULL, 
 `type_name` varchar(5) DEFAULT NULL, 
 KEY `b` (`type_name`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入初始数据

insert into sum_case (type_id,type_name) values (1,'a'),(2,'b'),(3,'c')

2)创建user1用户

grant select, update,insert on test.* to 'user1'@'localhost' identified by '123456'

以上这篇python3 pandas 读取MySQL数据和插入的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python判断IP地址合法性的方法实例
Mar 13 Python
Matplotlib中文乱码的3种解决方案
Nov 15 Python
flask-restful使用总结
Dec 04 Python
浅谈Python批处理文件夹中的txt文件
Mar 11 Python
Python使用LDAP做用户认证的方法
Jun 20 Python
Pandas之Dropna滤除缺失数据的实现方法
Jun 25 Python
Python如何实现强制数据类型转换
Nov 22 Python
Python脚本导出为exe程序的方法
Mar 25 Python
Django ORM 查询表中某列字段值的方法
Apr 30 Python
通过实例解析Python RPC实现原理及方法
Jul 07 Python
Python离线安装openpyxl模块的步骤
Mar 30 Python
django学习之ajax post传参的2种格式实例
May 14 Python
PyQt5每天必学之事件与信号
Apr 20 #Python
pandas groupby 分组取每组的前几行记录方法
Apr 20 #Python
基于pandas数据样本行列选取的方法
Apr 20 #Python
pandas实现选取特定索引的行
Apr 20 #Python
PyQT实现多窗口切换
Apr 20 #Python
使用实现pandas读取csv文件指定的前几行
Apr 20 #Python
浅析python打包工具distutils、setuptools
Apr 20 #Python
You might like
默默简单的写了一个模板引擎
2007/01/02 PHP
php中目录,文件操作详谈
2007/03/19 PHP
PHP中使用memcache存储session的三种配置方法
2014/04/05 PHP
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
jquery中prop()方法和attr()方法的区别浅析
2013/09/06 Javascript
js实现幻灯片效果(基于jquery插件)
2013/11/05 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
js左右弹性滚动对联广告代码分享
2014/02/19 Javascript
js 触发select onchange事件代码
2014/03/20 Javascript
javascript中clone对象详解
2014/12/03 Javascript
浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
2016/01/19 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
2016/05/10 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
2017/02/21 Javascript
全选复选框JavaScript编写小结(附代码)
2017/08/16 Javascript
JavaScript实现的超简单计算器功能示例
2017/12/23 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
2019/05/03 Javascript
[01:47]2018年度DOTA2最佳教练-完美盛典
2018/12/16 DOTA
Python的Django框架中的URL配置与松耦合
2015/07/15 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
Python实现打印实心和空心菱形
2019/11/23 Python
python3安装OCR识别库tesserocr过程图解
2020/04/02 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
Python爬虫代理池搭建的方法步骤
2020/09/28 Python
html5实现图片转圈的动画效果——让页面动起来
2017/10/16 HTML / CSS
英国皇家邮政海外旗舰店:Royal Mail
2018/02/21 全球购物
广告业务员岗位职责
2014/02/06 职场文书
合作协议书范本
2014/04/17 职场文书
安全责任协议书
2014/04/21 职场文书
计算机相关专业自荐信
2014/07/02 职场文书
领导班子整改措施
2014/10/24 职场文书
解除劳动合同证明书模板
2014/11/20 职场文书
厉害!这是Redis可视化工具最全的横向评测
2021/07/15 Redis
Promise静态四兄弟实现示例详解
2022/07/07 Javascript
python index() 与 rindex() 方法的使用示例详解
2022/12/24 Python