亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python日期時間字符串到時間格式

python日期時間字符串到時間格式

慕萊塢森 2022-07-26 16:46:56
我正在從我的數據框中將時間轉換為 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。那么,如何處理這個問題呢?現在似乎沒有解決方案,除了原始文檔必須以不同的時間格式保存。
查看完整描述

2 回答

?
LEATH

TA貢獻1936條經驗 獲得超7個贊

 import time


test=[420, 441, 31, 158]


string=str(test[2])


if len(string)<3:

    h=str(0)

    m=string[:]


else:

    h=string[:1]

    m=string[1:]


timesss=h+"/"+m


aa=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]) --> 0

print(aa[4]) --> 31

print(type(aa)) --> <class 'time.struct_time'>


查看完整回答
反對 回復 2022-07-26
?
浮云間

TA貢獻1829條經驗 獲得超4個贊

str.zfill這是假設您有 4 位數字的一種方法。


前任:


import datetime


data = ["420", "441", "31", "158"]


for time in data:

    print(datetime.datetime.strptime(time.zfill(4), '%H%M').time())

輸出:


04:20:00

04:41:00

00:31:00

01:58:00


查看完整回答
反對 回復 2022-07-26
  • 2 回答
  • 0 關注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號