python pandas 读取数据库_python3 pandas 读取MySQL数据和插入的实例

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数据和插入的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值