将包含许多日期的字符串转换为日期时间

问题描述 投票:-1回答:2

如果我的字符串仅包含一个日期,我将使用此:

datetime.datetime.strptime(string, '%b %d %Y').strftime('%Y-%m-%d')

但是由于字符串中有很多,所以我不知道如何继续。如何读取字符串并仅在需要的地方进行更改?

所以这是我的字符串:

s = 'Mar 27 2000*56.75*58.39*Mar 26 2000*53.10*56.13*Mar 25 2000*51.50*52.00'

以及我之后的期望:

s = '2000-03-27*56.75*58.39*2000-03-26*53.10*56.13*2000-03-25*51.50*52.00'
python string datetime
2个回答
0
投票
new_s = s.split("*")

然后在日期时间格式的列上使用您的代码。


0
投票
import re import datetime def operate_on_replacement(matchObj): match = matchObj.group(0) return datetime.datetime.strptime(match, '%b %d %Y').strftime('%Y-%m-%d') start_string = 'Mar 27 2000*56.75*58.39*Mar 26 2000*53.10*56.13*Mar 25 2000*51.50*52.00' replaced_string = re.sub(r'\w{3}\s{1}\d{2}\s{1}\d{4}', operate_on_replacement, start_string)
© www.soinside.com 2019 - 2024. All rights reserved.