#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))