首页 > 解决方案 > 使用 python 将数据帧加载到 oracle db

问题描述

我是 Python 新手,正在尝试编写代码以进一步了解它。我有一张费用表,它不是结构化的,我使用 python 设法提取、清理并将所需数据加载到 Excel 表中。

Excel 中加载的数据

我想在 oracle db 中加载相同的数据,而不是在 excel 文件中加载。我最初尝试使用 cx_Oracle,后来改用 sqlalchemy,这可能会有所帮助

' df.to_sql('AB_EXPENSE',con,if_exists = 'append',index=False) '

但是当我执行此操作时,我看到下面的错误,在我看来,它也将标题作为要加载到表中的值

加载到数据库时出错

我已经在 db 中创建了表,其 cols 与 dataframe 中的 cols 相同,我所需要的只是将数据单独从 Dataframe 加载/附加到 db 中的相应 cols。

数据类型:

Oracle 表数据类型

DF 数据类型

标签: python

解决方案


SQL 表和 pandas df 之间的“年份”列中的数据类型不一致。上传数据前输入:

df.loc[:,'YEARS']=df.loc[:,'YEARS'].astype('int')

推荐阅读