Я работаю с pandas, чтобы обновить таблицы в базе данных sqlite. Фрейм данных, который я использую, иногда может быть пустым. Когда я использую to_ sql () с этим фреймом данных, у меня возникает sqlite3.OperationalError. Это происходит, когда для параметра задано значение False.
простой пример:
import pandas as pd
import sqlite3
con = sqlite3.connect("C:\\an_user_dir\\a_base.sqlite")
# error: sqlite3.OperationalError: near ")": syntax error
pd.DataFrame().to_sql('temp', con, if_exists="replace", index=False)
# no error
pd.DataFrame().to_sql('temp', con, if_exists="replace")
Итак, ошибка: sqlite3.OperationalError: near ")": syntax error
Я начал копаться на этой ошибке и обнаружил, что это из-за имени таблицы: "temp". Где-то в pandas или sqlite имя таблицы становится "temp (\n)(\n)"
, поэтому возникает ошибка.
Это нормальное поведение или фактическая ошибка? Может ли кто-нибудь объяснить мне это?
Спасибо!