继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

慕斯卡3302699
关注TA
已关注
手记 271
粉丝 58
获赞 314

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')


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP