python3 pandas 读取MySQL数据和插入


本文摘自php中文网,作者不言,侵删。

下面为大家分享一篇python3 pandas 读取MySQL数据和插入的实例,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧

python 代码如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

# -*- 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数据库里有两个表,建表语句如下:


1

2

3

4

5

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;



1

2

3

4

5

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;


插入初始数据


1

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


2)创建user1用户


1

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


相关推荐:

Python在groupby分组后提取指定位置记录方法



以上就是python3 pandas 读取MySQL数据和插入的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python之父是哪国人

Python int()怎么用

Python如何对字典进行排序

Python中的函数是什么?如何定义与调用函数

如何使用Python实现调查问卷的自动填写

Python画简单的动物

Python 循环语句之 while,for语句详解

Python 文件定位是什么?文件定位有什么作用?

Python全栈工程师学些什么

Python复制中对象生命周期如何使用

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...