['2019-02-18T00:00:00', '2019-03-28T00:00:00', '2019-02-01T00:00:00', '2019-08-01T00:00:00', '2019-02-20T00:00:00']
我只想在此列表中提取月份值,然后将结果放在另一个列表中以获取此输出:
['02', '03', '02', '08', '02']
答案 0 :(得分:5)
from datetime import datetime
data =['2019-02-18T00:00:00', '2019-03-28T00:00:00', '2019-02-01T00:00:00', '2019-08-01T00:00:00', '2019-02-20T00:00:00']
result = [datetime.strptime(i, '%Y-%m-%dT%H:%M:%S').month for i in data]
答案 1 :(得分:2)
月份始终是字符串的元素5&6,因为年份始终是元素0-3,而连字符是元素4。在我们的示例中,原始列表被命名为“ full_date_list”。
month_list = [full_date[5:7] for full_date in full_date_list]
答案 2 :(得分:1)
使用正则表达式:
import re
lst = ['2019-02-18T00:00:00', '2019-03-28T00:00:00', '2019-02-01T00:00:00', '2019-08-01T00:00:00', '2019-02-20T00:00:00']
r = r'\d{4}-(\d\d)-\d\dT\d\d:\d\d:\d\d'
x = [re.match(r, item).group(1) for item in lst]
print(x)
答案 3 :(得分:1)
有多种方法可以做到这一点 一种方法是使用像这样的日期时间库-
from datetime import datetime
input =['2019-02-18T00:00:00', '2019-03-28T00:00:00', '2019-02-01T00:00:00', '2019-08-01T00:00:00', '2019-02-20T00:00:00']
result=[]
for i in input:
result.append(str(datetime.strptime(i, '%Y-%m-%dT%H:%M:%S').month))
print(result)
输出
['2', '3', '2', '8', '2']
或者您可以使用字符串切片执行此操作-
input =['2019-02-18T00:00:00', '2019-03-28T00:00:00', '2019-02-01T00:00:00', '2019-08-01T00:00:00', '2019-02-20T00:00:00']
result=[]
for i in input:
result.append(i[5:7])
print(result)
输出
['02', '03', '02', '08', '02']
您可以使用任何喜欢的方式