将字典值转换为新字典

我正在从API中提取json数据,并且我的数据框中有许多包含字典的列。编写这些字典是为了使id和value是字典中两个单独的条目,如下所示:

{'id': 'AnnualUsage','value': '13071'}

这些列中的某些行仅包含一个字典条目,如上所示,但其他行最多可以包含7:

[{'id': 'AnnualUsage','value': '13071'},{'id': 'TestId','value': 'Z13753'},{'id': 'NumberOfMe','value': '3'},{'id': 'Prem','value': '960002'},{'id': 'ProjectID','value': '0039'},{'id': 'Region','value': 'CHR'},{'id': 'Tariff','value': 'Multiple'},{'id': 'Number','value': '06860702'}]

当我尝试将此字典分解为单独的列属性

CTG_df2 = pd.concat([CTG_df['id'],CTG_df['applicationUDFs'].apply(pd.Series)],axis=1)

最后,我在数据框中添加了包含上述条目的字典的列,即

{'id': 'AnnualUsageDE','value': '13071'}

我是否可以将字典值转换为新的键值对?例如,我想转换为:

{'id': 'AnnualUsageDE','value': '13071'}

{'AnnualUsageDE': '13071'}

如果可能的话,我将能够从这些属性中创建新列。

ccxygc2008 回答:将字典值转换为新字典

您可以进行字典理解。从您的字典列表中,编写一个新的字典,其中键是每个元素的id,值是每个元素的value

original = [{'id': 'AnnualUsage','value': '13071'},{'id': 'TestId','value': 'Z13753'},{'id': 'NumberOfMe','value': '3'},{'id': 'Prem','value': '960002'},{'id': 'ProjectID','value': '0039'},{'id': 'Region','value': 'CHR'},{'id': 'Tariff','value': 'Multiple'},{'id': 'Number','value': '06860702'}]

newdict = {subdict['id']: subdict['value'] for subdict in original}
print(newdict)
# {'AnnualUsage': '13071',#  'Number': '06860702',#  'NumberOfMe': '3',#  'Prem': '960002',#  'ProjectID': '0039',#  'Region': 'CHR',#  'Tariff': 'Multiple',#  'TestId': 'Z13753'}

,

您可以遍历这些值并将每个值设置为字典值:

@Bean
public SimpleMessageListenerContainerFactory simpleMessageListenerContainerFactory(AmazonSQSAsync amazonSqs) {
    SimpleMessageListenerContainerFactory factory = new SimpleMessageListenerContainerFactory();
    factory.setWaitTimeOut(5);
    return factory;
}
本文链接:https://www.f2er.com/3122821.html

大家都在问