【发布时间】:2013-01-22 00:04:00
【问题描述】:
假设你有这种格式的时间:
a = [..., 800.0, 830.0, 900.0, 930.0, 1000.0, 1030.0, ...]
问题是缺少几个小时的前导零。例如00:30 由30 表示,08:00 由800. 表示,00:00 由2400 表示。
是否可以使用strptime 方法将此数据解析为time 对象?
我尝试使用以下代码
hours = [time.strptime(str(int(i)), "%H%M") for i in a]
但是得到了
ValueError: unconverted data remains: 0
附:我正在使用 Python 2.7。
【问题讨论】:
-
那些是字符串吗?如果是这样,您需要在值周围添加
''引号。 -
@MartijnPieters 这些实际上是列表中的
float,因此我将它们转换为int以消除尾随点,但我想我更喜欢你的方法。