Как timedelta перевести в time в excel?
У меня есть таблица в котором есть время c типом timedelta

Когда я сохраняю эту таблицу как excel файл, у меня получается следующий результат:

А мне нужен результат такого типа: 75:12:12
Я после сохранения подключился к excel файлу и попытался с openpyxl поменят формат столбца, но я не могу поменять days на часы. Варианты которые попробовал:
for cell in sheet["E"]:
cell.number_format = "h:mm:ss"
Результат в excel 1:20:12, а должно быть 25:20:12
for cell in sheet["E"]:
cell.number_format = "d h:mm:ss"
Результат в excel 1 1:20:12, а должно быть 25:20:12
Ответы (2 шт):
У timedelta есть метод total_seconds, а полученные секунды можно превратить в время
Пример:
import datetime as DT
import time
def seconds_to_str(seconds: int) -> str:
hh, mm = divmod(seconds, 3600)
mm, ss = divmod(mm, 60)
return "%02d:%02d:%02d" % (hh, mm, ss)
t = DT.datetime.now()
time.sleep(2)
delta = DT.datetime.now() - t
secs = delta.total_seconds()
print(seconds_to_str(secs))
# 00:00:02
Формат ячейки для отображения времени без ограничения количества часов по модулю 24 выглядит как [HH]:MM:SS. Ниже скриншот с отображением времени в этом формате из Libre Office Calc:
