Как я могу решить эту ошибку datetime с помощью команды dataframe.to_sql?

#python #sql #pandas

#python #sql #панды

Вопрос:

Я пытаюсь создать таблицу sql на основе фрейма данных pandas, но она возвращает ошибку ниже:

 '22007', '[22007] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]The conversion of a varchar data type to a datetime data type resulted in an out-of-range value. (242) (SQLExecDirectW); [22007] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]The statement has been terminated. (3621)', Tipo: <class 'pyodbc.DataError'>
  

Любопытно, что ошибка возникает на некоторых машинах, поэтому я подозреваю, что это конфигурация драйвера.

 df['dtref']=dtref.strftime('%Y-%m-%d')
df['dtref']=pd.to_datetime(dtref,format='%Y-%m-%d')
  

Obs: переменная dtref — это дата-время из python.

Кто-нибудь может мне помочь?

Спасибо

Комментарии:

1. проверьте свои данные

2. Я подозреваю, что это проблема с драйвером, потому что она отлично работает на некоторых машинах

3. Пожалуйста, покажите to_sql строку и образец данных. И тщательно подумайте о любых общих чертах машин, на которых происходит сбой кода. Не зная более полной предыстории всего вашего процесса, мы не можем знать, но я не думаю, что это драйвер, а данные. Данные обновляются машинами по-разному? Фрейм данных может содержать неправильную дату (например, February 29, 2019 , September 31, 2020