为了账号安全,请及时绑定邮箱和手机立即绑定

python从mysql 数据库1迁移到数据库2(中间转化为dataframe),分批次写入

标签:
Python

python从mysql 数据库1迁移到数据库2(中间转化为dataframe),分批次写入 
obj:从mysql 数据库1迁移到mysql 数据库2(中间转化为dataframe) 
mysql 写入数据存在两种形式,create_engine速度快些 ,但批量数据时需要分批次写入数据某则报错

#!/usr/bin/env python# -*- encoding: utf-8 -*-"""
obj:从mysql 数据库1迁移到mysql 数据库2(中间转化为dataframe)
mysql 写入数据存在两种形式,create_engine速度快些 ,但批量数据时需要分批次写入数据某则报错

"""import csvimport pymysqlimport pandas as pdfrom sqlalchemy import create_engine#连接数据库conn=pymysql.connect(
             host='127.0.0.1',
             port=3306,
             user='root',
             passwd='xxxxx',
             db='kmind',
             charset='utf8'
         )
sqldb="select * from  form_mongodb_sql_jd_list_final_mid_02"pd_data=pd.read_sql(sqldb,conn)#ser-sqlconn.close()
engine = create_engine('mysql+mysqlconnector://root:xxxxx@192.168.1.xxxx:3306/数据库',echo=False)#数据分批次写入a_int=len(pd_data)//100b_remainder=len(pd_data)%100for i  in range(a_int):    # print(pd_data[i:i+1])
    print('{}---{}'.format(i*100,(i+1)*100))
    pd.io.sql.to_sql(pd_data[i*100:(i+1)*100],'pd_data2', engine,  if_exists='append')
print('{}---{}'.format((i+1)*100,(i+1)*100+b_remainder))
pd.io.sql.to_sql(pd_data[(i+1)*100:(i+1)*100+b_remainder],'pd_data2', engine,  if_exists='append')


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消