我有一个Python字典列表。我遍历每本字典,并检查给定的键是否存在。如果确实存在,则检查此键的值是否为空,如果为空,则需要将另一个键的值保存在该空键中。无法弄清楚如何将一个键的值分配给另一个键...
我的数据如下:
my_dicts = [{"Id": "123", "Campaign_Date": "2020-06-30", "Another_Date": "2020-07-01"}, {"Id": "125", "Campaign_Date": "", "Another_Date": "2020-07-01"}]
输出应该像这样:
my_dicts = [{"Id": "123", "Campaign_Date": "2020-06-30", "Another_Date": "2020-07-01"}, {"Id": "125", "Campaign_Date": "2020-07-01", "Another_Date": "2020-07-01"}]
我尝试了以下操作:
for my_dict in my_dicts:
for key in my_dict.items():
campaign_key = 'Campaign_Date'
if key == campaign_key:
if value = "":
value = value["Another_Date"]
else:
continue
for my_dict in my_dicts:
for key in my_dict.items():
campaign_key = 'Campaign_Date'
if key == campaign_key:
if value = "":
my_dict['Campaign_Date'] = my_dict["Another_Date"]
else:
continue
不确定它是否在您正在运行的代码中,但是您提供的代码中有错误。
for my_dict in my_dicts:
for key in my_dict.items():
campaign_key = 'Campaign_Date'
if key == campaign_key:
if value = "": # This should be == otherwise you're assigning value to ""
value = value["Another_Date"] # value["Another_Date"] Doesn't exist
# Also this won't put the value into the dictionary
else:
continue
for my_dict in my_dicts:
for key, value in my_dict.items():
if key == 'Campaign_Date' and value == "":
value = my_dict["Another_Date"]
请注意,这不会更新您的字典。为此,将value = my_dict["Another_Date"]
替换为my_dict.update({'Campaign_Date':my_dict["Another_Date"]})