Python 无法将datetime以正确格式提取的时间附加到空列表中
我使用datetime从数据框中的字符串中获取时间Python 无法将datetime以正确格式提取的时间附加到空列表中,python,datetime,Python,Datetime,我使用datetime从数据框中的字符串中获取时间 for i in DateTime: istring= str(i) try: time = datetime.datetime.strptime(istring, '%m/%d/%Y %H:%M:%S %p').time() print(time) except Exception as Argument: pass 我从中得到的结果是我想要的正确格式的时间 03:1
for i in DateTime:
istring= str(i)
try:
time = datetime.datetime.strptime(istring, '%m/%d/%Y %H:%M:%S %p').time()
print(time)
except Exception as Argument:
pass
我从中得到的结果是我想要的正确格式的时间
03:12:34
03:20:59
03:29:30
03:38:01
03:46:32
03:55:02
04:03:32 ...
但是,当我将时间附加到列表中而不是在每次循环后打印时:
TimeList = []
for i in DateTime:
istring = str(i)
try:
time = datetime.datetime.strptime(istring, '%m/%d/%Y %H:%M:%S %p').time()
TimeList.append(time)
except Exception as Argument:
pass
print(TimeList)
我的“时间清单”变成:
[datetime.time(3, 12, 34), datetime.time(3, 20, 59), datetime.time(3, 29, 30), ...
我希望我的列表包含在第一个示例中我的代码打印出来的时间
我试图将类型从更改为,但没有任何效果。使用:
time = str(datetime.datetime.strptime(istring, '%m/%d/%Y %H:%M:%S %p').time())
添加str()显式接受字符串,因为时间变量最初是一个对象,并且在列表中显示为该对象。这就是它看起来不同的原因。如果您只想存储时间的字符串表示形式,您可以这样做:
TimeList.append(time.strftime(“%H:%M:%S”)
。调用print
可以为您提供时间对象的字符串表示形式(对象的\uu str\uu
方法的返回值)。它不会改变物体本身。太棒了,就是这样,谢谢!