как установить метку времени в питоне - PullRequest
1 голос
/ 21 июня 2019

у меня такие данные

0     "30-01-2018 18:46 pm"
1     "30-01-2018 01:25 am"
2     "2018-01-29 20:57 pm"
3     "29-01-2018 18:23 pm"
4     "01-29-2018 15:53 pm"

вот формат всех этих строк, и он отличается для каждой строки

как это убрать am и pm ??

это возможно?

спасибо заранее

Ответы [ 2 ]

1 голос
/ 21 июня 2019

Поскольку у вас есть два формата, которые взаимозаменяемы почти для половины дат (format='%d-%m-%Y %H:%M %pformat='%m-%d-%Y %H:%M %p'), эта задача логически, математически и доказуемо невозможна. Вы не можете определить, какой формат используется между этими двумя для любой даты любого месяца до 13 числа этого месяца. результирующий формат будет неоднозначным относительно того, является ли день или месяц первым элементом в формат, и поэтому невозможно транспонировать без каких-либо грубых предположений о формате, который вы используете. Эти предположения могут работать нормально, но также вероятно, что он будет анализировать все даты неправильно. Это также верно в отношении подхода на основе Excel, который вы используете в настоящее время. Пожалуйста, проверьте каждый элемент данных, созданных этим методом, поскольку он, вероятно, содержит неправильно проанализированную информацию.

Если вы выясните, какой формат вы на самом деле используете, или каким-либо другим способом определить подходящий формат, не стесняйтесь задавать другой вопрос, и я уверен, что сообщество поможет вам.

Если это просто строки, вы можете удалить из них am и pm с помощью следующего:

# get your date somehow.
my_date = "01-29-2018 15:53 pm"
if my_date.endswith(" pm") or my_date.endswith(" am"):
    my_date = my_date[:-3]
print(my_date)

>>> 01-29-2018 15:53
0 голосов
/ 21 июня 2019

Я бы использовал try / кроме, чтобы попробовать каждый из предложенных вами форматов, пока не сработает один.Затем преобразуйте его в объект datetime, используя strptime.Затем преобразуйте этот объект datetime в целевой формат '%d-%m-%Y %H:%M', используя strftime.

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