[python] 文字列から timedelta に変換

文字列から時差などを表す timedelta に変換する方法です。

コロンで分割して数値にし、timedelta 型に変換しています。
今回の例では microsecond まで含むので、数値は float 型にしています。

import datetime

str = "1:23:45.678900"
hours, minutes, seconds = map(float, str.split(":"))
td = datetime.timedelta(hours=hours, minutes=minutes, seconds=seconds)

print(td)
1:23:45.678900

参考 URL