簡體   English   中英

在python中,有沒有辦法自動替換缺失值?

[英]In python, is there a way to automatically substitute for missing values?

我正在嘗試解析一個由一組對象組成的JSON對象。 每個對象包含多個字段,但通常缺少字段。 這是一個例子:

{
    'objects' : [{
        'fieldA' : 1,
        'fieldB' : 2,
        'fieldC' : 3,
    },
    {
        'fieldA' : 7,
        'fieldC' : 8,
    },
    {},
    {
        'fieldB' : 1,
        'fieldC' : 0,
    }]
}

我想將每個字段轉換為一個列表,保留對象的順序,相當於:

fieldA = [1,7,"Missing","Missing"]
fieldB = [2,"Missing","Missing",1]
fieldC = [3,8,"Missing",0]

有一個簡單的方法嗎? 我可以想出辦法,包括很多'if'和'in'語句以及重復迭代列表。 但似乎應該有更多的pythonic方式來做到這一點,例如:

fieldA = [ (obj.fieldA | "missing") for obj in json.objects]

python語法是否允許這樣的東西?

你需要dict.get()方法:

fieldA = [obj.get("fieldA", "missing") for obj in json["objects"]]

請注意,使用["key"]訪問字典的項目,而不是使用.key

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM