Мне нужно записать кадр данных 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, есть словарь.
Если я установлю method=None, код работает отлично. Однако производительность снижается по мере увеличения количества записей.
Как я могу решить эту проблему? Спасибо!