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

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

Войти через центр авторизации
Похожие вопросы