Я знаком с strftime, однако они требуют, чтобы дата была в формате datetime. В моем случае я получаю данные, которые выглядят как 01/Oct/2019:07:34:34 +0900
. Я хотел бы преобразовать его в 2019-10-01 07:34:34
.
ПРИМЕЧАНИЕ: моя дата в типе объекта.
Я прочитал формат даты с часовым поясом и https://www.guru99.com/date-time-and-datetime-classes-in-python.html однако они оба предполагают, что у меня есть формат даты и времени, который выглядит как datetime (2019, 10, 1, 07, 34, 34)
благодаря названию месяца на номер месяца и наоборот в python.
Я создал функцию, которая изменяет формат
import calendar
month_dict = dict((v,k) for k,v in enumerate(calendar.month_abbr))
def date_formatter(date):
day, month, year_and_time = date.split()[0].split('/')
year, hour, minute, second = year_and_time.split(":")
month = month_dict[month]
return f'{year}-{month}-{day} {hour}:{minute}:{second}'
, тогда, так как я работаю с фреймом данных, используйте apply + Лямбда для применения ко всем строкам.
df['new_date'] = df['date'].apply(lambda row: date_formatter(row))
Это работает отлично, и люди могут сказать мне, чтобы я просто использовал его, мне просто любопытно, если есть какой-либо альтернативный способ.