首页 > 解决方案 > 无法让 sqlalchemy 和 pandas (to_sql) 将数据帧索引日期写入 MySQL 数据库

问题描述

我从 API 将以下数据读入 pandas 数据框:

在此处输入图像描述

现在,我想使用 pandas to_sql 将这些数据写入 MySQL-DB 表:

在此处输入图像描述

在 MySQL 中,该列已正确设置,但尚未写入值:

在此处输入图像描述 在此处输入图像描述

然后我查看调试器向我展示数据框:

在此处输入图像描述

我认为这可能是格式问题,并添加了以下几行:

在此处输入图像描述

在调试器中,它现在看起来很好:

在此处输入图像描述

但是现在,在数据库中,它想将索引列写为文本

在此处输入图像描述

...并以错误中断执行:

在此处输入图像描述

有没有办法做到这一点,也就是使用 pandas to_SQL 和 sqlalchemy 引擎将 df 索引数据作为日期写入 MySQL 数据库?

编辑:表架构:

在此处输入图像描述

数据帧头:

在此处输入图像描述

标签: pythonmysqlpandassqlalchemy

解决方案


看来您正在使用Date列作为主键。我建议不要将其用作主键,而应将其用Date + Ticker作主键。


推荐阅读