葬空吟 2023-12-14 13:42 采纳率: 61%
浏览 4
已结题

如何使用pandas转存MySQL数据表,同时保持字段类型和索引的设置?

如何使用pandas将MySQL数据库1中的table表读取并转存到MySQL数据库2中,同时保持字段类型和索引的设置?
现有代码:

import pandas as pd  
from sqlalchemy  import create_engine

# 连接到MySQL数据库1  
engine1 = create_engine('mysql+pymysql://username:password@localhost:3306/database1')  
  
# 连接到MySQL数据库2  
engine2 = create_engine('mysql+pymysql://username:password@localhost:3306/database2')

# 读取table表  
df = pd.read_sql('SELECT * FROM table', con=engine1)
# 转存table表
df.to_sql("table",  con=engine2, if_exists='replace', index=False)

数据表是全量读取覆盖的,所以用的是if_exists='replace'
现在是:源表的字段类型和索引的设置没有带到转存后的表中,如何操作,可以保持字段类型和索引的设置?
或者实现在数据库2中设置好字段类型及索引,数据写入后不会改变也行

  • 写回答

1条回答 默认 最新

  • 桂圆肉肉 2023-12-14 13:48
    关注
    
    # 读取数据
    df = pd.read_sql_table('表名', engine1)
    # 将数据写入MySQL数据库2中的表里
    df.to_sql('表名', con=engine2, if_exists='replace', index=True)
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月23日
  • 修改了问题 12月14日
  • 修改了问题 12月14日
  • 创建了问题 12月14日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表