python - 使用 psycopg2 模块将值插入数据库时​​出错

标签 python postgresql sqlalchemy psycopg2

我正在尝试使用与 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'",)

dataframe中的所有数据字段类型都是int64。

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

任何方向都很好。 谢谢

最佳答案

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

关于python - 使用 psycopg2 模块将值插入数据库时​​出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41449501/

相关文章:

python - 任何警告 var shadow 参数的 python linter

python - 列上的 Pandas Multiindex Groupby

mysql - 使用触发器在 PostgreSQL 中复制自动递增生成的字段

python - 什么是SQLAlchemy 1.4 ORM中的Query.count?

python - SQLAlchemy 从非 orm 类继承

python - 在 python 列表类型结构中合理存储 10 亿多个值

python - 单个django查询集获取n个相邻项目

linux - Shell 脚本 - 在循环中使用变量

postgresql - 内存存储非常简单

python - flask-admin:如何在编辑和创建表单时显示有意义的外键信息?