使用Python中的多个词典更改列表中的日期

使用Python中的多个词典更改列表中的日期,python,list,date,dictionary,Python,List,Date,Dictionary,我有一个包含多个词典的列表,如下所示: [{'Date': '6-1-2017', 'Rate':'0.3', 'Type':'A'}, {'Date': '6-1-2017', 'Rate':'0.4', 'Type':'B'}, {'Date': '6-1-2017', 'Rate':'0.6', 'Type':'F'}, {'Date': '6-1-2017', 'Rate':'0.1', 'Type':'B'} ] 我现在想更改日期,因为它们的格式必须为'yyymmdd',从19

我有一个包含多个词典的列表,如下所示:

[{'Date': '6-1-2017', 'Rate':'0.3', 'Type':'A'},
 {'Date': '6-1-2017', 'Rate':'0.4', 'Type':'B'},
 {'Date': '6-1-2017', 'Rate':'0.6', 'Type':'F'},
 {'Date': '6-1-2017', 'Rate':'0.1', 'Type':'B'}
]
我现在想更改日期,因为它们的格式必须为'yyymmdd',从1900-01-01开始。换句话说,我想将“6-1-2017”更改为“1170106”

由于这必须每周完成(以当时的日期为准),我不想手工更改。因此,下周,“13-1-2017”必须转换为“1170113”

有人知道怎么做吗?我尝试了几种方法,但我甚至无法让我的代码选择所有字典的日期值


非常感谢

您可以使用
datetime
模块,该模块提供了许多操作datetime对象的功能,包括将datetime转换为字符串和返回方式、访问datetime对象的不同组件等:

from datetime import datetime

for l in lst:
    l['Date'] = datetime.strptime(l['Date'], "%d-%m-%Y")
    l['Date'] = str(l['Date'].year - 1900) + l['Date'].strftime("%m%d")

lst
#[{'Date': '1170106', 'Rate': '0.3', 'Type': 'A'},
# {'Date': '1170106', 'Rate': '0.4', 'Type': 'B'},
# {'Date': '1170106', 'Rate': '0.6', 'Type': 'F'},
# {'Date': '1170106', 'Rate': '0.1', 'Type': 'B'}]

展示你尝试过什么,以及它是如何失败的。
1170106
yyyy-mm-dd
不一样。即使是我们
1170106
,你完全正确。我需要
yyymmdd
格式。我要换个帖子。@Whattsthepoint,这是1900年之后的第117年,然后是第1个月和第6天。所以1170106。