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异步回调机制实现和使用方法
Nov 26 Python
Python输出9*9乘法表的方法
May 25 Python
python先序遍历二叉树问题
Nov 10 Python
Linux下Python安装完成后使用pip命令的详细教程
Nov 22 Python
python批量下载网站马拉松照片的完整步骤
Dec 05 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
Aug 29 Python
python 检查数据中是否有缺失值,删除缺失值的方式
Dec 02 Python
Python tkinter常用操作代码实例
Jan 03 Python
Python 安装 virturalenv 虚拟环境的教程详解
Feb 21 Python
使用wxpy实现自动发送微信消息功能
Feb 28 Python
解决django的template中如果无法引用MEDIA_URL问题
Apr 07 Python
python plt可视化——打印特殊符号和制作图例代码
Apr 17 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使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
PHP中iconv函数知识汇总
2015/07/02 PHP
laravel5.4生成验证码的实例讲解
2017/08/05 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
浅析jquery的作用与优势
2013/12/02 Javascript
js用闭包遍历树状数组的方法
2014/03/19 Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
2014/12/19 Javascript
javascript实现判断鼠标的状态
2015/07/10 Javascript
AngularJS基础 ng-href 指令用法
2016/08/01 Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
2016/10/31 Javascript
nodeJs链接Mysql做增删改查的简单操作
2017/02/04 NodeJs
非常实用的vue导航钩子
2017/03/20 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
vue实现双向绑定和依赖收集遇到的坑
2018/11/29 Javascript
VUE接入腾讯验证码功能(滑块验证)备忘
2019/05/07 Javascript
[05:22]DOTA2 2015国际邀请赛中国区预选赛首日TOP10
2015/05/26 DOTA
[01:08:29]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第一场 1月9日
2021/03/11 DOTA
Python中循环后使用list.append()数据被覆盖问题的解决
2018/07/01 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
2019/01/08 Python
python爬取微信公众号文章的方法
2019/02/26 Python
Python3.8对可迭代解包的改进及用法详解
2019/10/15 Python
使用Python实现将多表分批次从数据库导出到Excel
2020/05/15 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
2020/09/03 Python
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
美国著名的家居用品购物网站:Bed Bath & Beyond
2018/01/05 全球购物
Mio Skincare英国官网:身体紧致及孕期身体护理
2018/08/19 全球购物
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
2015/07/30 面试题
法学研究生自我鉴定范文
2013/12/04 职场文书
代理商会议邀请函
2014/01/27 职场文书
《水上飞机》教学反思
2014/04/10 职场文书
安全生产标语
2014/06/06 职场文书
助学金感谢信
2015/01/20 职场文书
开网店计划分析
2019/07/30 职场文书
Django如何与Ajax交互
2021/04/29 Python
python通过函数名调用函数的几种方法总结
2021/06/07 Python