概述
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,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数据和插入的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。
总结
以上是编程之家为你收集整理的python3 pandas 读取MySQL数据和插入的实例全部内容,希望文章能够帮你解决python3 pandas 读取MySQL数据和插入的实例所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧