Я пытаюсь разобрать отформатированную строку.Мне нужно знать, сколько часов, минут и секунд работал каждый извлеченный мной проект.
Данные, которые я получаю, представлены в следующем формате, например:
PT5H12M3S, это означает 5 часов 12минут 3 секунды.
Однако, если время работы меньше часа, оно просто не будет отображаться:
PT12M3S, это означает 12 минут 3 секунды.
Более того, если над проектом не работали (или только в течение менее минуты), данные будут отображаться следующим образом:
PT0S
Если в проекте отработано только полные часына нем это будет отображаться как:
PT5H
Я попытался проанализировать данные с помощью следующего кода:
estimated = track_data['project']['estimate']['estimate'].split('PT')[1]
estimated_hours = estimated.split('H')[0]
estimated_minutes = estimated_hours.split('M')[0]
estimated_seconds = estimated_minutes.split('S')[0]
, но это решение работает, только если данныев формате PT5H12M3S.Во всех других форматах это идет не так.Если я, например, получу данные PT5H, то предполагаемые часы будут равны 5, но также предполагаемые минуты и секунды также будут равны 5.Очевидно, что это не то, что мы хотим.
Есть ли кто-нибудь, кто может дать мне руководство о том, где искать?Я пробовал некоторые другие вещи с split, но, похоже, он не работает, потому что если он не может найти 'M' или 'S', он просто будет повторять одно и то же число.
Надеюсь, что это имеет смысл и спасибозаранее.