Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
35 / 33 / 19
Регистрация: 22.01.2015
Сообщений: 215
1

Суммирование из JSON

21.10.2016, 07:30. Показов 1985. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую всех!
Порылся по форуму и не нашел ничего подходящего, засим создаю тему.
В общем наваял следующее:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
localtime = time.localtime(time.time())
z = localtime[3]
with open('/home/vns.json') as json_data:
    d = json.load(json_data)
    json_data.close()
a = d['interfaces'][0]['traffic']['hours'][0]['rx']
a = round(a/1024, 2)
print ("0 Ч=", a, "Mb")
i = 7
while i < z+1:
    b = d['interfaces'][0]['traffic']['hours'][i]['rx']
    b = b/1024
    b = round(b,2)
    print (i,"Ч=", b, "Mb")
    i = i + 1
Данные берутся из файла с таким содержанием:
JSON
1
2
3
4
5
6
.........
"hours":[{"id":0,"date":{"year":2016,"month":10,"day":21},"rx":12370,"tx":3090},
{"id":1,"date":{"year":2016,"month":10,"day":21},"rx":70551,"tx":803828},
{"id":2,"date":{"year":2016,"month":10,"day":21},"rx":63099,"tx":967052},
{"id":3,"date":{"year":2016,"month":10,"day":21},"rx":37656,"tx":226735}
.........
Результат на выводе такой:
0 Ч= 12.08 Mb
7 Ч= 8.92 Mb
8 Ч= 6.15 Mb
9 Ч= 7.59 Mb
10 Ч= 13.42 Mb
11 Ч= 2.95 Mb
Время и "Mb" я подставил для наглядности на время написания.
Теперь собственно вопрос:
Мне это добро суммировать надо. Всю "голову сломал" на циклах и прочем. Как сделать, чтобы на выходе была единственная строчка "51.63"?
Заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.10.2016, 07:30
Ответы с готовыми решениями:

Не выводит суммирование двух await json
Здравствуйте, есть две async function которые берут из БД значение с таблиц. База и таблица одна и...

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object
Дополнительные сведения: Cannot deserialize the current JSON object (e.g. {&quot;name&quot;:&quot;value&quot;}) into...

Java, JSON и JSON Simple. Непонятка с созданием объекта JSON на сервере для отправки на фронт
Здравствуйте. Разрабатываю интернет-магазин на Java. Мне нужно на фронте получить список товаров из...

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object
Всем привет! Помогите, плиз, разобраться с ошибкой: An unhandled exception of type...

5
Эксперт Python
4632 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,134
Записей в блоге: 6
21.10.2016, 08:17 2
Гм. А в чём сложность суммировать "в лоб"? С арифметикой, судя по коду, вы знакомы.
0
35 / 33 / 19
Регистрация: 22.01.2015
Сообщений: 215
21.10.2016, 08:32  [ТС] 3
До меня не доходит, как получить сумму на выходе из while. Получается последнее значение.
0
Эксперт Python
4632 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,134
Записей в блоге: 6
21.10.2016, 09:51 4
Delvin-fil, ну вы же суммируете единицы в переменной i?
По аналогии
Python
1
s+=b
1
35 / 33 / 19
Регистрация: 22.01.2015
Сообщений: 215
21.10.2016, 10:28  [ТС] 5
Выводит оттуда неизвестно что:
Python
1
2
3
4
5
6
7
8
while i < z+1:
    b = d['interfaces'][0]['traffic']['hours'][i]['rx']
    b = round(b/1024,2)
    print (i, "---", b)
    b += b
    i = i + 1
print ("----------------------")
print (b, "Mb")
7 --- 8.92
8 --- 6.15
9 --- 7.59
10 --- 13.42
11 --- 9.69
12 --- 21.84
13 --- 11.63
14 --- 5.89
----------------------
11.78 Mb
Я так уже пробовал

Добавлено через 16 минут
Определил до цикла s=0, изменил место суммирования.
Поднял
Python
1
2
b = round(b/1024,2)
s += b
93.5 Mb
[Finished in 0.6s]
И получилось как хотел.
Спасибо!

Добавлено через 6 минут
Эммм... А как отредактировать заголовок? Не могу найти, чтобы дописать [РЕШЕНО]
0
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
21.10.2016, 10:58 6
Цитата Сообщение от Delvin-fil Посмотреть сообщение
Не могу найти, чтобы дописать [РЕШЕНО]
Не принято тут так делать

Ты можешь, только врать какой-нибудь пост как ответ и тогда тема пометится как решенная.
0
21.10.2016, 10:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.10.2016, 10:58
Помогаю со студенческими работами здесь

Не работает модуль json (функции json.dump(), json.load()
При запуске кода по сохранению и прочтению данных, сгенерированных пользователем: import json ...

Суммирование и суммирование с переносом
Добрый всем день! поясните пожалуйста по операндам - ASEM-51.. add A, R3 и addc A, R3

SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
Всем привет, пытаюсь произвести запрос к обработчику c помощью AJAX, выдает ошибку при парсинге...

Json: возможно ли используя название поля класса взять из Json информацию
Есть такая строка: string a = json.Value&lt;string&gt;(); Также у меня есть класс Student, где есть,...

System.Text.Json || AllowTrailingCommas не ставит запятые после объекта JSON
Добрый день! Есть функция которая сериализует объект класса в JSON строку. Параметром...

Как правильно прописать коллекцию в JSON конфигурации appsettings.json?
Всем привет. Подскажите, как в appsettings.json правильно прописать список админов? Я здесь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru