Посмотрите на первые несколько строк. Допустим, 2-й ряд 17:34
. Это то, что происходит, когда вы разделяете его.
In [1]: "17:34".split(":")
Out[1]: ['17', '34']
Как вы можете видеть, есть только 2 значения, потому что у вас есть только одно :
, и вы пытаетесь распаковать его в 3 переменные h,m,s
, что может не будет сделано.
У вас есть несколько вариантов решения этой проблемы.
- Вы можете форматировать данные по-разному и всегда включать часы, поэтому
17:34
-> 0:17:34
- Вы можете обрабатывать 2 случая в вашем парсере
values = i.split(':')
if len(values) == 2:
h = 0
m,s = values
else:
h,m,s = values
Вы можете использовать регулярные выражения, но я бы не рекомендовал его, так как он менее читабелен, чем другие варианты