Задать вопрос
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"
}
  • Вопрос задан
  • 250 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Witosser
@Witosser Автор вопроса
студент IT ВУЗа, увлекаюсь веб-разработкой
Дело оказалось в том что в списке json были пустые элементы и пайтон не мог их сравнить, помогла строчка кода перед сортировкой:
data = [trans for trans in data if trans ] #избавляемся от пустых элементов, без этой строчки код внизу будет выдавать ошибку
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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