从字符串中删除字符并转换为d

2024-05-20 17:32:34 发布

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

我正在建立一个网络垃圾收集网站,以获取有关网球运动员的信息。 这是一个从头开始的项目,我目前遇到了一个问题。我用以下行将播放器数据存储在字典中:

player = {}
player['first'] = soup.select('.first-name')[0].text
player['last'] = soup.select('.last-name')[0].text
player['dob'] = soup.select('.table-birthday')[0].text

然后我得到这个结果:

{'first': 'Roger', 'last': 'Federer', 'dob': '\r\n\t\t\t\t\t\t\t\t\t\t\t\t(1981.08.08)\r\n\t\t\t\t\t\t\t\t\t\t\t'}

如何将出生日期设置为我可以使用的正常日期? 被删除的网站是: http://www.atpworldtour.com/en/players/roger-federer/f324/overview


Tags: 项目textname网络信息网站select垃圾
1条回答
网友
1楼 · 发布于 2024-05-20 17:32:34

这里有一个方法:

from datetime import datetime

d = {'first': 'Roger', 'last': 'Federer',
     'dob': '\r\n\t\t\t\t\t\t\t\t\t\t\t\t(1981.08.08)\r\n\t\t\t\t\t\t\t\t\t\t\t'}

datetime.strptime(d['dob'][d['dob'].find('(')+1:d['dob'].find(')')], '%Y.%m.%d')

# datetime.datetime(1981, 8, 8, 0, 0)

解释

  • d['dob'][d['dob'].find('(')+1:d['dob'].find(')')]提取括号之间的字符串部分
  • datetime.strptime用于将字符串转换为datetime对象

相关问题 更多 >