pandas to_sql无法调整类型“dict”

2024-09-28 16:59:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须向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}}

如您所见,数据帧中没有dict。但是,在sqlalchemy生成的insert命令中实际上有一个dict

如果我将method设置为None,那么代码可以完美地工作。但是,随着记录数量的增加,性能会下降

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


Tags: 数据代码dataframedfsqlalchemypostgresqlmethoddict