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遍历C盘dll文件的方法
May 06 Python
python读取oracle函数返回值
Jul 18 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
Jul 17 Python
python 批量修改/替换数据的实例
Jul 25 Python
Flask Web开发入门之文件上传(八)
Aug 17 Python
python3爬虫学习之数据存储txt的案例详解
Apr 24 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
Nov 25 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
Jan 06 Python
python3连接MySQL8.0的两种方式
Feb 17 Python
python程序文件扩展名知识点详解
Feb 27 Python
基于Python数据分析之pandas统计分析
Mar 03 Python
使用Django的JsonResponse返回数据的实现
Jan 15 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制作简单的内容采集器的原理分析
2008/10/01 PHP
php print EOF实现方法
2009/05/21 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
2012/07/01 PHP
php数组一对一替换实现代码
2012/08/31 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
PHP实现按之字形顺序打印二叉树的方法
2018/01/16 PHP
jQuery弹出(alert)select选择的值
2013/04/21 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
2016/06/06 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
js复制内容到剪贴板代码,js复制代码的简单实例
2016/10/27 Javascript
vue router使用query和params传参的使用和区别
2017/11/13 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
Angular进行简单单元测试的实现方法实例
2020/08/16 Javascript
Vue 列表页带参数进详情页的操作(router-link)
2020/11/13 Javascript
Vue 实例中使用$refs的注意事项
2021/01/29 Vue.js
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
python分析apache访问日志脚本分享
2015/02/26 Python
python制作企业邮箱的爆破脚本
2016/10/05 Python
python使用PyCharm进行远程开发和调试
2017/11/02 Python
Python实现模拟登录网易邮箱的方法示例
2018/07/05 Python
Python实现Dijkstra算法
2018/10/17 Python
python读写csv文件方法详细总结
2019/07/05 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
2020/05/26 Python
使用HTML5的Canvas绘制曲线的简单方法
2015/09/08 HTML / CSS
SQL中where和having的区别
2012/06/17 面试题
导游欢迎词范文
2015/01/23 职场文书
学生检讨书范文
2015/01/27 职场文书
公司奖励通知
2015/04/21 职场文书
巾帼建功标兵先进事迹材料
2016/02/29 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书
关于Vue Router的10条高级技巧总结
2021/05/06 Vue.js
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
2021/06/18 MySQL