Усекать таблицу и вставлять фрейм данных в SQL, ТОЛЬКО ЕСЛИ фрейм данных может быть успешно вставлен - PullRequest
0 голосов
/ 27 сентября 2019

Мне нужно обрезать таблицу SQL, а затем вставить кадр данных pandas.Моя проблема заключается в том, что иногда я сталкиваюсь с крайним случаем, и таблица будет усечена, но в базе данных будет отсутствовать нулевое значение в базе данных ... Это приводит к тому, что моя таблица усекается, но новые данные не имеютбыл вставлен.

Как я могу усечь таблицу ТОЛЬКО ЕСЛИ мой фрейм данных "вставляемый"?

sql_engine = sqlalchemy.create_engine('sql_connection_string')
sql_engine.execute(sqlalchemy.text('TRUNCATE TABLE dbo.customers').execution_options(autocommit=True))
df.to_sql('customers', sql_engine, schema='dbo', if_exists='append', index=False)

Я пытался использовать if_exists='replace' вместо усечения, но этоудаляет таблицу и создает новую схему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...