我很抱歉打扰你,但我是Python3的新手。
我试图解析HTML表格,以获得一个股票和日期的列表,然后我想从yahoo中输入股票价格。
我有一个单元格,其中有一个文本,然后是一个日期,格式如下。4月20日,2020年... 我想只提取日期,这样我就可以在雅虎API中使用它,但我得到的错误与以下代码。
date=result.find("td", attrs {'class':'column5'}).text.replace('\n',' ')
date=datetime.datetime.strptime(date,'%B %d, %Y').strftime('%Y-%m-%d')
非常感谢任何指导!
我的评论的一个例子,使用 regex
来查找所有符合日期时间格式的子串。'%B %d, %Y'
然后根据需要转换格式。
import re
from datetime import datetime
s = "April 20, 2020 April 3, 2020 March 18, 2020 February 29, 2020 March 29, 2019 March 19, 2019 1) September 20, 2018 - IPO ~20% 2) March 8, 2019 - exchange offer complete March 4, 2019 1) October 11, 2018 - IPO ~15% 2) March 1, 2019 - spinoff remaining stake February 25, 2019"
dates = re.findall('[a-zA-Z]+\ [0-9]{1,2},\ [0-9]{4}', s)
# ['April 20, 2020',
# 'April 3, 2020',
# 'March 18, 2020',
# 'February 29, 2020',
# 'March 29, 2019',
# 'March 19, 2019',
# 'September 20, 2018',
# 'March 8, 2019',
# 'March 4, 2019',
# 'October 11, 2018',
# 'March 1, 2019',
# 'February 25, 2019']
for d in dates:
print(datetime.strptime(d,'%B %d, %Y').strftime('%Y-%m-%d'))
# 2020-04-20
# 2020-04-03
# 2020-03-18
# 2020-02-29
# 2019-03-29
# 2019-03-19
# 2018-09-20
# 2019-03-08
# 2019-03-04
# 2018-10-11
# 2019-03-01
# 2019-02-25