我有一个日期列,其日期格式不同
publish_date = ["Feb. 2, 2000", "June 4, 1989", "Mar. 13, 2018"]
我使用strptime()
转换一种类型的字符串,如何在同一列中转换多种日期格式?
type 1: %b %d, %Y
type 2: %B %d, %Y
答案 0 :(得分:2)
您可以使用第三方dateparser module
使用pip install dateparser
安装,然后
>>> import dateparser
>>> publish_date = ["Feb. 2, 2000", "June 4, 1989", "Mar. 13, 2018"]
>>> for d in publish_date:
... print(dateparser.parse(d))
...
2000-02-02 00:00:00
1989-06-04 00:00:00
2018-03-13 00:00:00
dateparser
接受多种格式,但如果您愿意,可以将其限制为您感兴趣的格式
>>> for d in publish_date:
... print(dateparser.parse(d, date_formats=['%b %d, %Y', '%B %d, %Y']))
...
2000-02-02 00:00:00
1989-06-04 00:00:00
2018-03-13 00:00:00
答案 1 :(得分:2)
您还可以使用 dateutil
<强>演示:强>
from dateutil.parser import parse
publish_date = ["Feb. 2, 2000", "June 4, 1989", "Mar. 13, 2018"]
for date in publish_date:
print( parse(date) )
<强>输出:强>
2000-02-02 00:00:00
1989-06-04 00:00:00
2018-03-13 00:00:00