json 如何从Dictionary列的列表中获取值

gorkyyrv  于 2022-12-15  发布在  其他
关注(0)|答案(1)|浏览(127)

我有一个列表列。列表中有些是空列表,有些是字典列表。如果类型是vendor,我需要从键中获取值。我尝试了不同的方法,但都不成功。例如

ColumnName
[]
[{'ID': 'D6130732', 'type': 'Driver'}, {'ID': 'V169R454', 'type': 'Vendor'}]
[{'ID': 'V1139I98', 'type': 'Vendor'}]
[{'ID': 'D13090632', 'type': 'Driver'}]
[{'ID': 'V682541632', 'type': 'Vendor'}, {'ID': 'D1852432', 'type': 'Driver'}]
[]
[]

我能够访问list[0]['ID']索引的第一个元素,但不是 Dataframe 中的每一列。我希望它如下所示

columnName
V169R454
V1139I98
V682541632
nbysray5

nbysray51#

试试看:

# apply literal_eval on ColumnName (if necessary):
from ast import literal_eval
df["ColumnName"] = df["ColumnName"].apply(literal_eval)

df["ColumnName"] = df["ColumnName"].apply(
    lambda lst: [val["ID"] for val in lst if val["type"] == "Vendor"]
)
df = df.explode("ColumnName").dropna()

print(df)

图纸:

ColumnName
1    V169R454
2    V1139I98
4  V682541632

相关问题