猿问

python日期时间字符串到时间格式

我正在从我的数据框中将时间转换为 datetime.time 格式。原始时间格式如下所示:

420, 441, 31, 158

像这样的东西。所以数据中没有秒,只有小时和分钟。

我编写了一个代码来将该字符串转换为 datetime.time 格式,

time = datetime.strptime(str(time, '%H%M').time()

它可以正常工作,但是在分析数据的过程中,我在应用代码时意识到了一些错误。

比如原来记录的时间是01:58,但是在dataframe中,却保存了158这样的形式。我应用代码的时候,它把时间转换成15:08,与原始文档相比是不正确的。

但问题是 01:58 和 15:08 都会将表单保存在数据框中的相同值中,即 158。

那么,如何处理这个问题呢?现在似乎没有解决方案,除了原始文档必须以不同的时间格式保存。


慕莱坞森
浏览 111回答 2
2回答

LEATH

&nbsp;import timetest=[420, 441, 31, 158]string=str(test[2])if len(string)<3:&nbsp; &nbsp; h=str(0)&nbsp; &nbsp; m=string[:]else:&nbsp; &nbsp; h=string[:1]&nbsp; &nbsp; m=string[1:]timesss=h+"/"+maa=time.strptime(timesss, '%H/%M')输出print(aa) --> time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=31, tm_sec=0, tm_wday=0, tm_yday=1, tm_isdst=-1)print(aa[3]) --> 0print(aa[4]) --> 31print(type(aa)) --> <class 'time.struct_time'>

浮云间

str.zfill这是假设您有 4 位数字的一种方法。前任:import datetimedata = ["420", "441", "31", "158"]for time in data:&nbsp; &nbsp; print(datetime.datetime.strptime(time.zfill(4), '%H%M').time())输出:04:20:0004:41:0000:31:0001:58:00
随时随地看视频慕课网APP

相关分类

Python
我要回答