Pythonのネストされた辞書

アジンキャ

jsonを生成するコードを作成しました。コードは:

import collections
d = collections.defaultdict(dict)

    with open(res_file, 'w') as f:
        for i, box in enumerate(boxes):


            a=np.split(poly,4)

            d[i][str(0)] = str(a[0])
            d[i][str(1)] = str(a[1])
            d[i][str(2)] = str(a[2])
            d[i][str(3)] = str(a[3])

            y = json.dumps(d)
            print(y)

その出力は

{"0":{"0": "[429 44]"、 "1": "[436 44]"、 "2": "[436 56]"、 "3": "[429 56]"} 、 "1":{"0": "[345 41]"、 "1": "[431 44]"、 "2": "[430 69]"、 "3": "[344 66]"} 、 "2":{"0": "[453 42]"、 "1": "[554 42]"、 "2": "[554 68]"、 "3": "[453 68]"} 、 "3":{"0": "[654 45]"、 "1": "[710 45]"、 "2": "[710 76]"、 "3": "[654 76]"} 、 "4":{"0": "[436 48]"、 "1": "[449 48]"、 "2": "[449 66]"、 "3": "[436 66]"} 、 "5":{"0":"[153 58]"、 "1": "[287 61]"、 "2": "[286 97]"、 "3": "[152 93]"}、 "6":{"0": "[345 70]"、 "1": "[438 70]"、 "2": "[438 94]"、 "3": "[345 94]"}、 "7":{"0": "[442 69]"、 "1": "[477 69]"、 "2": "[477 94]"、 "3": "[442 94]"}、 "8":{"0": "[481 69]"、 "1": "[602 69]"、 "2": "[602 94]"、 "3": "[481 94]"}、 "9":{"0": "[638 76]"、 "1": "[724 76]"、 "2": "[724 94]"、 "3": "[638 94]"}、 "10":{"0": "[293 117]"、 "1 ":" [313 117] "、" 2 ":" [313 132] "、" 3 ":" [293 132] "}、" 11 ":{" 0 ":" [316 117] "、" 1 ":" [361 117] "、" 2 ":" [361 132] "、" 3 ":" [316 132] "}

これを実行したい:すべてのボックス(上記の例では11個のボックス)が正常に実行された場合は、結果に次のコマンドを追加します。

"Message":"success",
"Status":1,

最終的な出力jsonは次のようになります。

{ 
    "Status":1,
    "Message":"success",
    "Result":{ 
        "1":{ 
            "1":"[431,44]",
            "0":"[345,41]",
            "3":"[344,66]",
            "2":"[430,69]"
        },
        "0":{ 
            "1":"[436,44]",
            "0":"[429,44]",
            "3":"[429,56]",
            "2":"[436,56]"
        },
        ...
    }
}

それ、どうやったら出来るの?

オルビン・ログ

必須フィールドを使用して、もう1つのdictを作成できます。

from collections import defaultdict

d = defaultdict(dict)

with open(res_file, 'w') as f:
    for i, box in enumerate(boxes):
        poly = np.array(box).astype(np.int32).reshape((-1))
        a = np.split(poly, 4)
        for j in range(4):
            d[i][str(j)] = str(a[j])

result = {
    'Status': int(bool(d)),  # 0 - dict empty, 1 - dict not empty
    'Message': 'success' if d else 'fail',  # ('fail', 'success')[int(bool(d))]
    'Result': d
}

この辞書をインデントして印刷する必要がある場合は、次を使用できますjson.dumps()

import json

print(json.dumps(result, indent=4))

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Pythonのネストされた辞書へのリスト

分類Dev

ネストされた辞書へのリストの辞書

分類Dev

ネストされた辞書の分割

分類Dev

ネストされた辞書の比較

分類Dev

ネストされた辞書の作成

分類Dev

DjangoQuerySetのネストされた辞書

分類Dev

ネストされた辞書の分割

分類Dev

ネストされた辞書の平均

分類Dev

Python:ネストされたリストと辞書の比較

分類Dev

Python:辞書内のネストされたリスト?

分類Dev

Pythonを使用したJSONネストされた辞書の解析

分類Dev

ネストされた辞書JSONからPythonのネストされた辞書

分類Dev

Python辞書のネストされた辞書による並べ替え

分類Dev

Python-辞書/ネストされた辞書のタプルを注文する

分類Dev

ネストされた辞書へのアクセス-Python

分類Dev

ネストされた辞書の辞書の変換

分類Dev

ネストされた辞書の値を更新する-Python

分類Dev

ネストされた辞書内のPython合計値

分類Dev

Pythonでネストされた辞書の値を取得する

分類Dev

ネストされた辞書Pythonの逆順

分類Dev

Python3ネストされた辞書の印刷

分類Dev

ネストされた辞書を作成するPythonの方法

分類Dev

ネストされた辞書の作成方法PYTHON

分類Dev

段落からのネストされた辞書 Python 3

分類Dev

ネストされた辞書の並べ替えpython

分類Dev

ネストされた辞書のPythonを更新する

分類Dev

ネストされた辞書から単一の辞書

分類Dev

ネストされた辞書のリストのPython平均リスト

分類Dev

2つの既存の辞書(1つのネストされた辞書、1つのリストの辞書)から新しい辞書を作成しますpython

Related 関連記事

  1. 1

    Pythonのネストされた辞書へのリスト

  2. 2

    ネストされた辞書へのリストの辞書

  3. 3

    ネストされた辞書の分割

  4. 4

    ネストされた辞書の比較

  5. 5

    ネストされた辞書の作成

  6. 6

    DjangoQuerySetのネストされた辞書

  7. 7

    ネストされた辞書の分割

  8. 8

    ネストされた辞書の平均

  9. 9

    Python:ネストされたリストと辞書の比較

  10. 10

    Python:辞書内のネストされたリスト?

  11. 11

    Pythonを使用したJSONネストされた辞書の解析

  12. 12

    ネストされた辞書JSONからPythonのネストされた辞書

  13. 13

    Python辞書のネストされた辞書による並べ替え

  14. 14

    Python-辞書/ネストされた辞書のタプルを注文する

  15. 15

    ネストされた辞書へのアクセス-Python

  16. 16

    ネストされた辞書の辞書の変換

  17. 17

    ネストされた辞書の値を更新する-Python

  18. 18

    ネストされた辞書内のPython合計値

  19. 19

    Pythonでネストされた辞書の値を取得する

  20. 20

    ネストされた辞書Pythonの逆順

  21. 21

    Python3ネストされた辞書の印刷

  22. 22

    ネストされた辞書を作成するPythonの方法

  23. 23

    ネストされた辞書の作成方法PYTHON

  24. 24

    段落からのネストされた辞書 Python 3

  25. 25

    ネストされた辞書の並べ替えpython

  26. 26

    ネストされた辞書のPythonを更新する

  27. 27

    ネストされた辞書から単一の辞書

  28. 28

    ネストされた辞書のリストのPython平均リスト

  29. 29

    2つの既存の辞書(1つのネストされた辞書、1つのリストの辞書)から新しい辞書を作成しますpython

ホットタグ

アーカイブ