Witosser
@Witosser
студент IT ВУЗа, увлекаюсь веб-разработкой

Как исправить ошибку key error при сортировке json и прочитать весь файл?

Ошибка: KeyError: 'date'
Внизу представлен рабочий код, но если заменить data[:50]на data, возникает ошибка. Мне нужно прочитать все данные с файла а не только 50.
import json
from operator import attrgetter
todos_by_user = {}
with open("operations.json", "r", encoding = "utf-8") as read_file:
    data = json.load(read_file)
 
sorted_data = sorted(data[:50], key=lambda x:x['date'], reverse = True)


json:
{
   "id":280743947,
   "state":"EXECUTED",
   "date":"2018-09-27T14:26:24.629306",
   "operationAmount":{
      "amount":"45653.70",
      "currency":{
         "name":"руб.",
         "code":"RUB"
      }
   },
   "description":"Перевод организации",
   "from":"Счет 23177857685058835559",
   "to":"Счет 56363465303962313778"
},
{
   "id":185048835,
   "state":"EXECUTED",
   "date":"2019-05-06T00:17:42.736209",
   "operationAmount":{
      "amount":"74895.83",
      "currency":{
         "name":"руб.",
         "code":"RUB"
      }
   },
   "description":"Перевод со счета на счет",
   "from":"Счет 27921306202254867520",
   "to":"Счет 49884962711830774470"
}
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
Witosser
@Witosser Автор вопроса
студент IT ВУЗа, увлекаюсь веб-разработкой
Дело оказалось в том что в списке json были пустые элементы и пайтон не мог их сравнить, помогла строчка кода перед сортировкой:
data = [trans for trans in data if trans ] #избавляемся от пустых элементов, без этой строчки код внизу будет выдавать ошибку
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@bacon
Надо бы знать такие основы, метод get у словаря. Ну и научишь читать доки или гуглить эту элементращину.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мар. 2021, в 13:49
30000 руб./за проект
01 мар. 2021, в 13:30
500 руб./за проект