Как преобразовать строку ччмм во время в python - PullRequest
0 голосов
/ 28 мая 2020

Как я могу преобразовать столбец Time 1 ниже из строки в строку, например: Time2

Time1

438

448

1815

1758

Время2

04: 38

04: 48

18: 15

17: 58

Ответы [ 3 ]

1 голос
/ 28 мая 2020

Попробуйте datetime библиотеку

>>> Time1 = ['438','448','1815','1758']
>>> Time2 = []
>>> import datetime
>>> for t in Time1:
...     Time2.append(datetime.datetime.strptime(t,'%H%M').strftime('%H:%M'))
>>> print (Time2)
['04:38', '04:48', '18:15', '17:58']
0 голосов
/ 28 мая 2020

Для начала, некоторые из ваших случаев time1 не в формате hhmm: в 438 всего три цифры, но это, тем не менее, можно включить.

import datetime
def convert_string_to_time(str):
    if len(str) < 4:
        return datetime.time(hour=int(str[0]), minute=int(str[1:3]))
    else:
        return datetime.time(hour=int(str[0:2]), minute=int(str[2:4]))

Это вернет объект datetime.time для каждой временной строки. Если вы хотите иметь время в формате чч: мм: сс, используйте str (convert_string_to_time ( ваша строка здесь ))

0 голосов
/ 28 мая 2020

Вы можете использовать форматированные строки:

Time1 = ['438','448','1815','1758']
Time2 = [f'{t[:-2]}:{t[-2:]}' for t in Time1]
print(Time2)

Вывод:

['4:38', '4:48', '18:15', '17:58']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...