Преобразование даты и времени Pandas в дату Postgres

#python #pandas #postgresql

Вопрос:

Я работаю с Пандами, чтобы добавить поле, представляющее собой строку, к дате, и добавить другое поле, которое будет датой вчерашнего дня.

Я использую pytz для установки часового пояса на stat_date поле, но я все еще получаю сообщение об ошибке в to_sql командной строке.

 tz = pytz.timezone('America/Chicago')  df.insert(1, 'feed_date', pd.to_datetime(df['feed_id'], errors='coerce')) df.insert(1, 'stat_date', pd.to_datetime(datetime.now(tz).date()) - timedelta(days=1))  df.to_sql("table", engine, if_exists='append', index=False, schema="stats")   

Ошибка:

 DataError: (psycopg2.errors.InvalidDatetimeFormat) invalid input syntax for type date  

Как правильно конвертировать дату и время из pandas в postgres

Ответ №1:

добавить format='%Y-%m-%d' к df.insert

 df.insert(1, 'feed_date',format='%Y-%m-%d' ,pd.to_datetime(df['feed_id'],  errors='coerce')) df.insert(1, 'stat_date', format='%Y-%m-  %d',pd.to_datetime(datetime.now(tz).date()) - timedelta(days=1))