使用 psycopg2 模块将值插入数据库时​​出错[重复]

2024-02-15

我正在尝试使用与 sqlalchemy 一起使用的 pscycopg2 模块将数据帧插入到我的 postgres 数据库中。该过程是将 Excel 文件加载到 pandas 数据帧中,然后通过预定义的表模式将数据帧插入数据库中。

我相信这些是相关的代码行:

post_meta.reflect(schema="users")
df = pd.read_excel(path) 
table = sql.Table(table_name, post_meta, schema="users")
dict_items = df.to_dict(orient='records')
connection.execute(table.insert().values(dict_items))

我收到以下错误:

<class 'sqlalchemy.exc.ProgrammingError'>, ProgrammingError("(psycopg2.ProgrammingError) can't adapt type 'numpy.int64'",)

数据帧中的所有数据字段类型均为 int64。

我似乎找不到关于此错误原因及其含义的类似问题或信息。

任何方向都会很棒。 谢谢


看起来您正在尝试插入 numpy 整数,而 psycopg2 不知道如何处理这些对象。您需要首先将它们转换为普通的 python 整数。也许尝试致电int()每个值的函数...如果失败,请提供更多上下文和代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 psycopg2 模块将值插入数据库时​​出错[重复] 的相关文章

随机推荐