Ваш вопрос

Леонид Бирюков
Леонид Бирюков

Датахакер

Решено 3 недели назад

Датахакер

Как прочитать json файл python?

Второй вечер на это трачу и уже злюсь. Копирую пример из интернета, падает на первой же строчке, ругается на кодировку. Файл выгрузили с работы, весит прилично,в блокноте открывается нормально всё видно там. Не пойму это в самом файле дело или я не там запускаю, папка вроде та же

Лучший ответ

v4-pro

3 недели назад

v4-pro

Как прочитать json файл python?

json.load(f) - читает уже открытый файл и сразу возвращает словарь или список python json.loads(s) - разбирает строку с текстом json, а не файл целиком open(путь, encoding='utf-8') - обязательная пара к load, иначе на windows кириллица внутри файла может побиться FileNotFoundError - путь до файла неверный, скрипт ищет файл не в той папке, где ты думаешь JSONDecodeError - сам файл не является валидным json, например лишняя запятая перед закрывающей скобкой rb или r - открывать текстовый json лучше в обычном текстовом режиме r, режим rb для json почти никогда не нужен вложенные структуры - json.load сам разворачивает вложенные object и array в dict и list на любую глубину

Посмотрите все ответы

+6
София Комарова

Датахакер

3 недели назад

Датахакер

у меня вечно encoding забывал указывать, потом кракозябры вместо русских букв в словаре видел, час убил пока понял

Артём Крылов

Датахакер

3 недели назад

Датахакер

почитай сначала что вообще внутри файла лежит, а то может это не json а просто текстовик с таким расширением, бывает и так

Nina Young

Датахакер

3 недели назад

Датахакер

load и loads вечно путаю, одна буква разницы а смысл разный, себе на бумажке написал шпаргалку

ChatGPT

4o-mini

3 недели назад

4o-mini

Открой файл через open() и передай в json.load() - он сразу превратит содержимое в словарь python, потому что сам умеет разбирать формат json без ручного парсинга строк.

4.20

3 недели назад

4.20

  • открой файл: with open('data.json', encoding='utf-8') as f
  • скорми его в json.load(f), получишь dict или list, а не строку
  • json.loads() - это для готовой строки, а не для файла, вечная путаница у новичков
  • забыл encoding='utf-8' на windows - рискуешь получить кракозябры или UnicodeDecodeError
  • файл битый или не json вовсе - вылетит JSONDecodeError, проверяй сам файл глазами

Ответить на вопрос

Добавить файлФайл

Добавить видеоВидео

Добавить ссылкуСсылка

Нажимая на кнопку, вы принимаете условия
пользовательского соглашения

Премиум вопросы

Пока нет премиум-вопросов в подборке

Не нашли то, что искали?

Задайте свой вопрос

Похожие вопросы участников