Python: создать словарь внутри словаря для преобразования в JSON - PullRequest
0 голосов
/ 04 июля 2018

Я хочу создать JSON:

[
    {
        measurement: "Equipment1",
        fields: {
            Pressure: 5.5
        },
        tags:{
            MachineType:"type1"
        },
        timestamp: 1530717056.48
    }
]

Код, который я написал:

import json
import time
from decimal import Decimal

count = 0
read_pressures = []
while (count < 100):
    current_time=time.time()
    array_of_pressures.append(dict(measurement="Equipment1", dict(pressure=5.5),dict(MachineType="Type1"),timestamp=time.time()))
    time.sleep(0.01)
    count = count + 1
    print(data) #
    read_pressures.append(data)
print ("printing all values")
print(json.dumps(read_pressures, ensure_ascii=False))
#print(read_pressures)

Коды, выдающие ошибку "SyntaxError: не ключевое слово arg после ключевого слова arg "но я не знаю, как я должен создать словарь внутри словаря. Любая помощь приветствуется?

Спасибо

1 Ответ

0 голосов
/ 04 июля 2018
dict(measurement="Equipment1", dict(pressure=5.5),dict(MachineType="Type1"),timestamp=time.time()))

Здесь вам не хватает имен ключей («полей» и «тегов») для некоторых значений словаря.

dict(measurement="Equipment1", fields=dict(pressure=5.5), tags=dict(MachineType="Type1"), timestamp=time.time()))

Или вы можете написать это более просто как

data = { "measurement": "Equipment1",
         "fields": { "pressure": 5.5 },
         "tags": { "MachineType": "Type1" },
         "timestamp": time.time()
       }

Как указывает tobias_k, вы также, похоже, пытаетесь добавить свой дикт к чему-то, называемому array_of_pressures, который не создается нигде в вашем коде, вместо того, чтобы просто назначить свой диктов на data.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...