python中如何从字符串中提取不同字段的值

2024-04-20 12:08:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,我必须从字符串中提取值: str='x:10 y:12时间:01/01/2010 11:55:55'

现在我要创建一个字典,其中的值存储方式如下: x=10

y=12年

时间=2010年1月1日11:55:55

请告诉我怎么做?在


Tags: 字符串字典方式时间新手str
1条回答
网友
1楼 · 发布于 2024-04-20 12:08:49

你试过了吗?
如果没有,这里有一些想法。。。在

使用内置字符串操作工具
{cd2>

>>> s = 'x:10 y:12 time : 01/01/2010 11:55:55'
>>> [pair.split(':') for pair in s.split(' ',2)[0:2]]
[['x', '10'], ['y', '12']]

假设你把它赋给了一个变量:

^{pr2}$

对于time也许你可以这样开始:

>>> [term.strip() for term in s.split(' ',2)[-1].split(':',1)]
['time', '01/01/2010 11:55:55']

正则表达式

>>> import re
>>> re.findall('(\w+):(\d+)',s)[0:2]
[('x', '10'), ('y', '12')]

然后我可能只使用strptime()作为最后的日期时间部分:

>>> from datetime import datetime
>>> datetime.strptime([term.strip() 
                      for term in 
                      s.split(' ',2)[-1].split(':',1)][1], '%m/%d/%Y %H:%M:%S')
datetime.datetime(2010, 1, 1, 11, 55, 55)

相关问题 更多 >