Как заменить значение ключа из возвращенного объекта JSON после вызова API с использованием reports.get?

Используйте следующий код для меня:

# Create the figure
   fig = plt.figure()
   ax = fig.add_subplot(111, projection='3d')

   # Generate the values
   x_vals = X_iso[:, 0:1]
   y_vals = X_iso[:, 1:2]
   z_vals = X_iso[:, 2:3]

   # Plot the values
   ax.scatter(x_vals, y_vals, z_vals, c = 'b', marker='o')
   ax.set_xlabel('X-axis')
   ax.set_ylabel('Y-axis')
   ax.set_zlabel('Z-axis')

   plt.show()

, а X_iso - мой трехмерный массив и для X_vals, Y_vals, Z_vals Я скопировал / использовал 1 столбец / ось из этого массива и назначил к этим переменным / массивам соответственно.

1
задан martineau 16 January 2019 в 23:57
поделиться

2 ответа

>>> myDict = {"testing": 1, "testing2": 2, "my_key": 3}
>>>
>>>
>>> def updatedata(data):
...     k = 'my_key'
...     for key, val in data.items():  # use a different variable to reduce confusion
...         if key == 'my_key':
...             data[key] = 'True'  # specify the key, not the value
...     return data  # optional, unless you want to save into a new variable
...
>>>
>>> updatedata(myDict)
>>> myDict
{'testing': 1, 'testing2': 2, 'my_key': 'True'}
>>>
0
ответ дан RedKoder 16 January 2019 в 23:57
поделиться

Ваш пример не заменяет ключ, скорее он создает новую запись со значением из исходного ключа. Если вам нужно просто обновить его, то проверьте, есть ли ключ в dict, измените его, если он есть, затем верните новый результат. Кроме того, вам не нужна библиотека json с запросами.

import requests

def updatedata(data, key, new_value):
    if key in data:
        data[key] = new_value
    return data

response = requests.get(my_URL, headers=my_headers)
data = response.json()
response = requests.post(myUrl, json=updatedata(data, 'my_key', True))
0
ответ дан nicholishen 16 January 2019 в 23:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: