更改字典中的键

时间:2017-11-08 12:42:22

标签: python datetime dictionary key

如何更改列表字典的键以显示日期(直接)而不是datetime.date(2017, 1, 1),这是他们当前格式化的内容?

列表部分示例:

{datetime.date(2017, 9, 7): [162.3, 163.24, 162.22, 163.18], datetime.date(2017, 7, 10): [160.44, 161.13, 160.44, 160.94], 

我对python很新,所以任何帮助都会非常感激。感谢。

2 个答案:

答案 0 :(得分:0)

为每个日期时间对象调用strftime方法:

import datetime
s = {datetime.date(2017, 9, 7): [162.3, 163.24, 162.22, 163.18], datetime.date(2017, 7, 10): [160.44, 161.13, 160.44, 160.94]}
new_s = {a.strftime("%Y-%m-%d"):b for a, b in s.items()}

输出:

{'2017-07-10': [160.44, 161.13, 160.44, 160.94], '2017-09-07': [162.3, 163.24, 162.22, 163.18]}

答案 1 :(得分:0)

试试这个:

import datetime
my_dict = {datetime.date(2017, 9, 7): [162.3, 163.24, 162.22, 163.18], datetime.date(2017, 7, 10): [160.44, 161.13, 160.44, 160.94]}
new_dict = {str(k): v for k,v in my_dict.items()}

输出:

{'2017-07-10': [160.44, 161.13, 160.44, 160.94],
 '2017-09-07': [162.3, 163.24, 162.22, 163.18]}