![](/img/trans.png)
[英]How to convert data type (dd:hh:mm:ss) “1 day, 01:00:00” in seconds using Python
[英]How to convert an array of seconds into dd:hh:mm:ss in Python?
我有一个 numpy 数组,它是在从https://map.neweuropeanwindatlas.eu/生成的 .nc 文件中读取后使用下面的代码创建的
timeSec = numpy.arange(0, len(time)*(time[2] - time[1])*60, (time[2] - time[1])*60, dtype=int)
然后我找到了一种方法将此数组转换为格式“#day, hh:mm:ss”(例如“1 day, 12:30:00”)使用
timeSec = numpy.array([str(timedelta(seconds=int(s))) for s in timeSec])
但是,我希望它的格式为 dd:hh:mm:ss。 因为我必须创建一个 .csv 文件,该文件将被读入另一个需要这种特定格式的模拟软件。 还有另一种方法可以将秒数更改为我需要的格式吗? 我怀疑可能有一种方法可以进行数学运算,然后以正确的格式显示它,但我在编码方面不够精明,无法自己提出解决方案。 任何帮助或建议将不胜感激。 先感谢您。
例如:
def secToFormat(sec):
sec = int(sec)
dd = sec // 86400
hh = (sec - dd * 86400) // 3600
mm = (sec - dd * 86400 - hh * 3600) // 60
ss = sec - dd * 86400 - hh * 3600 - mm * 60
return f"{dd:02d}:{hh:02d}:{mm:02d}:{ss:02d}"
timeSec = numpy.array([secToFormat(s) for s in timeSec])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.