При записи dataframe в таблицу SQLite возвращает ошибку sqlite3.InterfaceError: Error binding parameter 0 - probably unsupported type

  1. Получаю JSON из API:
response = requests.get(url, auth=(api_key, password)).json()

Ответ получаю, данные верные.

  1. После кладу данные из ответа в dataframe
df = pd.DataFrame.from_records(response)

На этом шаге тоже всё в порядке, фрейм формируется

  1. Создаю подключение к базе SQLite
con = sqlite3.connect('.../new_db', timeout=10)
cur = con.cursor()
  1. И пробую записать в базу полученный фрейм
df.to_sql(con=con, name='test_table', index=False, if_exists='replace')

В итоге получаю ошибку

sqlite3.InterfaceError: Error binding parameter 0 - probably unsupported type.

Полученный JSON никак не обрабатываю, таблица в базе создаётся с правильными типами. Возможно необходима какая-то обработка, приведение типов?


Ответы (1 шт):

Автор решения: user453575457

у вас в data frame затесалось поле типа dict (словарь), содержащее не просто строку, а пары ключ-значение, и которое не может непосредственно загрузиться в SQLite

→ Ссылка