我有大量的字典列表,我必须更改列表中每个字典的<DATE>
键中的日期格式
我编写了这样的代码,但不起作用:
dict_list = [
{'<TICKER>': 'HDR', '<DATE>': '19980317', '<CLOSE>': '11.633', '<VOL>': '67931'},
{'<TICKER>': 'HDR', '<DATE>': '19980318', '<CLOSE>': '10.481', '<VOL>': '115169'},
{'<TICKER>': 'HDR', '<DATE>': '19980319', '<CLOSE>': '10.131', '<VOL>': '75305'},
{'<TICKER>': 'HDR', '<DATE>': '19980320', '<CLOSE>': '10.481', '<VOL>': '53504'},
{'<TICKER>': 'HDR', '<DATE>': '19980323', '<CLOSE>': '10.379', '<VOL>': '27581'},
{'<TICKER>': 'HDR', '<DATE>': '19980324', '<CLOSE>': '10.228', '<VOL>': '37328'},
{'<TICKER>': 'HDR', '<DATE>': '19980325', '<CLOSE>': '10.131', '<VOL>': '28739'},
{'<TICKER>': 'HDR', '<DATE>': '19980326', '<CLOSE>': '10.131', '<VOL>': '45352'},
{'<TICKER>': 'HDR', '<DATE>': '19980327', '<CLOSE>': '10.027', '<VOL>': '42585'},
{'<TICKER>': 'HDR', '<DATE>': '19980330', '<CLOSE>': '10.027', '<VOL>': '21260'}
]
for dictionary in dict_list:
for date in dictionary:
date = dictionary["<DATE>"]
year = date[:4]
month = date[4:6]
day = date[6:]
date = f"{year}-{month}-{day}"
print(dict_list)
我想补充:
dictionary.update({"<DATE>": date})
但产出看起来并不好。应该是:
{...'<DATE>': '1998-03-17'...}
是:
{...'<DATE>': '1998------0-3-17'...}
我不知道如何修理它。请帮忙
您的第二个循环有问题,这使您的字典更新了4次。以下是我的解决方案:
为什么需要再次循环
dictionary
这一行:
该通道迭代字典的键。因此,内的逻辑重复地获取
<DATE>
字段的前四位数字,并对其进行切片,如下所示:.update()
有什么意义?直接分配,就像这样:dictionary["<DATE>"] = date
哦,您必须设置一个条件来检查
<DATE>
键。只有这个加法才能得到预期的输出您的输入列表
修改代码
您的预期产出
相关问题 更多 >
编程相关推荐