Python 转换列表中嵌套元素的数据类型

Python 转换列表中嵌套元素的数据类型,python,Python,我有以下清单: list1 = [{'time_period': '202004130000', 'count': 16859}, {'time_period': '202004140000', 'count': 21557}] time_period的值是一个字符串,但我需要将其更改为日期。你怎么能做到这一点 我尝试了以下操作,但不正确: for x in list1: x['time_period'] = x['time_period'].strftime('%Y-%m-%d')

我有以下清单:

list1 = [{'time_period': '202004130000', 'count': 16859}, 
{'time_period': '202004140000', 'count': 21557}]
time_period的值是一个字符串,但我需要将其更改为日期。你怎么能做到这一点

我尝试了以下操作,但不正确:

for x in list1:
    x['time_period'] = x['time_period'].strftime('%Y-%m-%d')

您的字符串的格式为%Y%m%d%H%m。 因此,如果需要datetime对象date,可以使用

from datetime import datetime
x['time_period']=datetime.strptime(x['time_period'],'%Y%m%d%H%M')
x['time_period']=datetime.strptime(x['time_period'],'%Y%m%d%H%M').strftime('%Y-%m-%d')
否则,如果你说你希望它的格式不同,你会使用

from datetime import datetime
x['time_period']=datetime.strptime(x['time_period'],'%Y%m%d%H%M')
x['time_period']=datetime.strptime(x['time_period'],'%Y%m%d%H%M').strftime('%Y-%m-%d')
它将用指定的格式替换输入格式


这是一个很好的参考:

字符串格式不正确-p=datetime.strptime202004130000,%Y%m%d%H%m,yearmonthdayhoursminutes-%Y%m%d%H%m。小写m为month;大写的M是分钟。你能编辑一下标题吗?它确实有误导性?Fornat是否转换这些日期时间?会更准确。它是否在一个嵌套的dict列表中并不重要。如果我想排除分钟和秒,我可以执行以下操作:datetime.strptimex['time\u period'][0:8],“%Y-%m-%d”?strptime不格式化日期;它以指定的格式读取日期并输出datetime对象。strftime将datetime对象格式化为指定的字符串格式。是否有方法消除或隐藏小时和分钟?我试着用切片的方法来切割绳子,但是没有用。当我将数据导入Excel时,小时和时间?第二种方法使用strftime“%Y-%m-%d”将原始字符串转换为具有strptimex“%Y%m%d%H%m”的datetime对象后,使用strftime“%Y%m%d%H%m”消除了小时和分钟,后者需要知道输入字符串x的格式,包括小时和分钟,如%Y%m%d%H%m。我知道了。非常感谢。