我有以下看起來像這樣的字串串列
dates_list = ['7.0:2.0', '6.0:32.0', '6.0:16.0', '6.0:16.0', '6.0:17.0', '6.0:2.0', '6.0:1.0']
我想將其繪制成圖表,但我需要轉換為分鐘和秒的日期時間 (%M:%S)
我嘗試使用strptime
for i in dates_list:
datetime_object = datetime.strptime(i,'%M:%S')
我收到以下錯誤:
ValueError: time data '7.0:2.0' does not match format '%M:%S'
有沒有辦法處理浮點數或者我必須將字串轉換為 int 并洗掉小數?
uj5u.com熱心網友回復:
這將允許您引入任何小數:
from datetime import datetime
for i in dates_list:
time_list = i.split(':')
minute_decimal = time_list[0].split('.')[1]
second_decimal = time_list[1].split('.')[1]
datetime_object = datetime.strptime(i,'%M.{0}:%S.{1}'.format(minute_decimal,second_decimal)).time()
uj5u.com熱心網友回復:
試試這個,需要正確指定格式
import datetime as dt
dates_list = ['7.0:2.0', '6.0:32.0', '6.0:16.0', '6.0:16.0', '6.0:17.0', '6.0:2.0', '6.0:1.0']
for i in dates_list:
datetime_object = dt.datetime.strptime(i,'%M.0:%S.0').time()
print(datetime_object)
uj5u.com熱心網友回復:
我會用 pd.to_datetime() 來做這件事。但是,它會添加不必要的日期資訊,然后您可以使用 strftime 洗掉這些資訊:
[x.strftime("%M:%S") for x in pd.to_datetime(dates_list,format='%M.0:%S.0')]
回傳:
['07:02', '06:32', '06:16', '06:16', '06:17', '06:02', '06:01']
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/459827.html
標籤:Python 细绳 约会时间 matplotlib 字符串时间
