Работа с данными: от экспорта в Excel до парсинга JSON

Иван Корнев·21.05.2024·5 мин

Чтобы перенести данные в Excel или превратить файл формата JSON в читаемую таблицу, проще всего использовать встроенный инструмент Power Query (доступен в Excel 2016 и новее, а также в Office 365). Он позволяет импортировать JSON напрямую без конвертации, автоматически разворачивая вложенные структуры. Для простого экспорта достаточно сохранить файл в формате .csv с кодировкой UTF-8, чтобы избежать проблем с русскими символами. Ниже приведены детальные инструкции для обоих процессов.

Подготовка и экспорт данных в формат Excel

Перед импортом сложных структур важно понять, как правильно выгрузить данные из исходной системы (базы данных, CRM, веб-сервиса), чтобы они корректно открылись в табличном редакторе.

Выбор формата файла

  • CSV (Comma Separated Values) — универсальный формат для обмена. Идеален для плоских таблиц.
    • Важно: Всегда выбирайте кодировку UTF-8, иначе кириллица превратится в нечитаемые символы.
  • XLSX — нативный формат Excel. Сохраняет формулы, форматирование и несколько листов. Используйте его для финальных отчетов.
  • JSON — структурированный формат для передачи данных между программами. Требует специальной обработки перед просмотром в виде таблицы.

Если вы экспортируете данные из базы данных (SQL) или веб-сервиса, старайтесь получать сразу «плоскую» структуру (одна строка — одна запись), это упростит дальнейшую работу в Excel.

Алгоритм безопасного экспорта в CSV

  1. В исходной системе выберите опцию «Экспорт» или «Скачать».
  2. Укажите формат CSV UTF-8. Если такой опции нет, скачайте обычный CSV.
  3. Откройте Excel, перейдите на вкладку ДанныеПолучение данныхИз текста/CSV.
  4. В окне импорта убедитесь, что в поле «Кодировка файла» выбрано 65001: Юникод (UTF-8).
  5. Проверьте предпросмотр: разделитель должен корректно разбивать текст на столбцы. Нажмите Загрузить.

Импорт JSON в таблицу Excel через Power Query

Файлы JSON часто содержат вложенные данные (объекты внутри объектов), которые нельзя просто открыть как таблицу. Инструмент Power Query решает эту задачу автоматически.

Способ 1: Импорт локального файла JSON

Этот метод работает во всех современных версиях Excel без установки дополнительных плагинов.

  1. Откройте чистый лист в Excel.
  2. Перейдите на вкладку Данные → группа Получение и преобразование данных.
  3. Выберите Получить данныеИз файлаИз JSON.
  4. Укажите путь к вашему файлу .json и нажмите «Импортировать».
  5. Откроется окно редактора Power Query. Вы увидите предварительный просмотр данных.
    • Если данные представлены списком записей (List of Records), нажмите кнопку В таблицу (To Table) на панели инструментов.
    • В появившемся окне настроек оставьте значения по умолчанию и нажмите ОК.
  6. В заголовках столбцов появятся кнопки со стрелочками. Нажмите на них, чтобы развернуть вложенные поля. Снимите галочку «Использовать исходное имя столбца как префикс», если названия будут слишком длинными.
  7. Когда таблица примет нужный вид, нажмите Закрыть и загрузить. Данные появятся на новом листе Excel.

Способ 2: Загрузка данных напрямую из интернета (API)

Если JSON находится по ссылке (например, ответ от API сервиса), скачивать файл не нужно.

  1. Скопируйте URL источника данных.
  2. В Excel: ДанныеПолучить данныеИз других источниковИз веб.
  3. Вставьте ссылку в поле ввода.
  4. Далее действуйте по аналогии со способом 1: трансформируйте список в таблицу и разверните нужные столбцы.

При импорте из веба некоторые источники могут требовать авторизацию. Если Power Query запрашивает ключ доступа, убедитесь, что у вас есть права на использование этого API.

Альтернативные методы конвертации

Иногда использование Power Query избыточно или структура JSON слишком сложна для автоматического распознавания.

Конвертация через онлайн-сервисы

Для разовых задач с небольшими файлами (до 10–20 Мб) удобно использовать конвертеры:

  1. Найдите сервис по запросу "JSON to CSV converter".
  2. Загрузите файл или вставьте код JSON в текстовое поле.
  3. Скачайте результат в формате CSV и откройте в Excel. Минус: Не подходит для конфиденциальных данных, так как файл загружается на сторонний сервер.

Использование скрипта Python

Для программистов или обработки огромных массивов данных эффективнее написать простой скрипт:

import pandas as pd

# Загрузка JSON
df = pd.read_json('data.json')

# Экспорт в Excel
df.to_excel('output.xlsx', index=False)

Библиотека pandas автоматически выравнивает вложенные структуры, если это возможно, или создает многоуровневые заголовки.

Очистка и верификация данных после импорта

После загрузки данных в таблицу обязательно выполните проверку качества:

  • Типы данных: Убедитесь, что даты распознаны как даты, а числа — как числа (иногда они импортируются как текст). В Power Query это делается через меню «Преобразовать».
  • Дубликаты: Используйте вкладку ДанныеУдалить дубликаты, чтобы очистить список от повторяющихся записей.
  • Пустые значения: Проверьте столбцы на наличие null или пустых ячеек. Замените их на 0, среднее значение или пометку «Нет данных» в зависимости от логики анализа.

Частые ошибки

ОшибкаПричинаРешение
Кракозябры вместо текстаНеверная кодировка при открытии CSVОткрывать через мастер импорта данных, выбирая UTF-8
Все данные в одном столбцеНеправильный разделитель в CSVПри импорте вручную указать нужный разделитель (запятая, точка с запятой)
Ошибка при развертывании JSONРазнородная структура данныхФильтруйте строки с ошибочной структурой или используйте условные столбцы в Power Query
Файл не открываетсяПревышен лимит строк Excel (1 048 576)Используйте подключение к модели данных (не загружать на лист) или разбейте файл на части

FAQ

Можно ли обновлять данные из JSON автоматически? Да. Если вы использовали Power Query, достаточно нажать кнопку Обновить все на вкладке «Данные». Если источник — файл на диске, замените его новой версией с тем же именем. Если источник — веб-ссылка, данные подтянутся актуальные на момент обновления.

Что делать, если JSON слишком вложенный (много уровней)? В редакторе Power Query можно последовательно нажимать на кнопки развертывания в заголовках столбцов. Однако глубокая вложенность усложняет восприятие. Лучше заранее спланировать, какие именно поля вам нужны, и оставить только их, удалив лишние столбцы перед загрузкой в лист.

Как объединить несколько JSON-файлов в одну таблицу? Положите все файлы в одну папку. В Excel выберите Получить данныеИз файлаИз папки. Система предложит объединить файлы. Далее примените шаги трансформации (как для одного файла) ко всем данным сразу.