0

我必须将 pandas 数据框写入 PostgreSQL 表。在这里您可以找到一段代码:

values = [1, 1]
d = {'col1': values, 'col2': values}
df = pd.DataFrame(data=d)
df.to_sql('prograd_dashboard', con=dbConnection, if_exists='replace', index=False,  method='multi')

我遇到此错误消息:

sqlalchemy.exc.ProgrammingError: (ProgrammingError) can't adapt type 'dict' 'INSERT INTO prograd_dashboard (col1, col2) VALUES (%(col1)s, %(col2)s)' {'col1': {'col1': 1, 'col2': 1}, 'col2': {'col1': 1, 'col2': 1}}

如您所见,数据框中没有字典。但是,实际上在 sqlalchemy 生成的插入命令中有一个 dict。

如果我设置 method=None,则代码可以完美运行。但是,随着记录数量的增加,性能会下降。

我该如何解决这个问题?谢谢!

4

1 回答 1

0

我通过更新 pandas 和 SQLAlchemy 库解决了这个问题。

于 2021-04-09T13:08:37.547 回答