从字符串中删除字符并转换为日期

问题描述 投票:0回答:1

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

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':'费德勒','dob':'\ r \ n \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t (1981年8月8日)\ r \ n \吨\吨\吨\吨\吨\吨\吨\吨\吨\吨\吨'}

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

python string python-3.x dictionary
1个回答
0
投票

这是一种方式:

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对象。
© www.soinside.com 2019 - 2024. All rights reserved.