ITPub博客

首页 > IT职业 > IT图书 > python从mysql 数据库1迁移到数据库2(中间转化为dataf

python从mysql 数据库1迁移到数据库2(中间转化为dataf

IT图书 作者:kikiboy 时间:2021-09-09 09:27:55 0 删除 编辑

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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4588/viewspace-2803302/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-13

  • 博文量
    0
  • 访问量
    465