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的设计模式编程入门指南
Apr 02 Python
通过数据库对Django进行删除字段和删除模型的操作
Jul 21 Python
python开发之list操作实例分析
Feb 22 Python
详解python3百度指数抓取实例
Dec 12 Python
解决PyCharm中光标变粗的问题
Aug 05 Python
详解Python开发中如何使用Hook技巧
Nov 01 Python
python 查找文件名包含指定字符串的方法
Jun 05 Python
使用 Python 实现简单的 switch/case 语句的方法
Sep 17 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
Sep 24 Python
Python图像处理库PIL的ImageFilter模块使用介绍
Feb 26 Python
TensorFlow中如何确定张量的形状实例
Jun 23 Python
利用Matlab绘制各类特殊图形的实例代码
Jul 16 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
php之readdir函数用法实例
2014/11/13 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
2016/11/03 PHP
PHP设计模式之装饰器模式定义与用法详解
2018/04/02 PHP
PHP中单例模式的使用场景与使用方法讲解
2019/03/18 PHP
Prototype Selector对象学习
2009/07/23 Javascript
Jquery插件之多图片异步上传
2010/10/20 Javascript
js精度溢出解决方案
2012/12/02 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
一个JS函数搞定网页标题(title)闪动效果
2014/05/13 Javascript
JavaScript实现三阶幻方算法谜题解答
2014/12/29 Javascript
JavaScript的设计模式经典之建造者模式
2016/02/24 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
学习Node.js模块机制
2016/10/17 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
js中document.referrer实现移动端返回上一页
2017/02/22 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
在React中如何优雅的处理事件响应详解
2017/07/24 Javascript
[js高手之路]寄生组合式继承的优势详解
2017/08/28 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
NodeJs crypto加密制作token的实现代码
2019/11/15 NodeJs
vue 基于abstract 路由模式 实现页面内嵌的示例代码
2020/12/14 Vue.js
使用Python读取二进制文件的实例讲解
2018/07/09 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
解决pandas .to_excel不覆盖已有sheet的问题
2018/12/10 Python
Python绘制堆叠柱状图的实例
2019/07/09 Python
Python中print函数简单使用总结
2019/08/05 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
花卉与景观设计系大学生求职信
2013/10/01 职场文书
中西医专业毕业生职业规划书
2014/02/24 职场文书
企业口号大全
2014/06/12 职场文书
2014年幼儿园园长工作总结
2014/12/17 职场文书
2015年党员发展工作总结
2015/05/13 职场文书