Как сделать json из excel

Обновлено: 07.07.2024

You can parse (or deconstruct) the contents of a column with text strings that contain JSON or XML. To help illustrate how to use the Parse command, the following sample data starts with JSON and XML data entered as text fields.

Sample JSON and XML data

For more information on importing JSON and XML, see Import data from external data sources.

JavaScript Object Notation (JSON) is a common data format, and you can import it into Excel.

To transform the SalesPerson column from text strings to a structured Record column:

Select the SalesPerson column.

Select Transform > Parse > JSON.

Select Record to see the values.

Viewing the underlying structured Record

Expand

Select the Expand icon next to the SalesPerson column header. From the Expand columns dialog box, select only the FirstName and LastName fields.

Expanding the Record into the table

The results of expanding the record

Extensible Markup Language (XML) is a common markup and data format, and you can import it into Excel.

To transform the Country column from text strings to Table values.

Select the Country column.

Select Transform > Parse > XML.

Select Table to see the values.

Viewing the underlying values in the structured Table

Expand

Select the Expand icon next to the Country column header. From the Expand columns dialog box, select only the Country and Division fields.

expanding the structured Table into the query table

The results of expanding the Table

Tip With a Table, you can also select Aggregate to aggregate data in different ways, such as Sum or Count. For more information, see Aggregate data from a column.

Excel таблицы могут быть представлены в виде массива объектов в виде JSON. Каждый объект представляет строку в таблице. Это помогает извлекать данные из Excel в согласованном формате, который виден пользователю. Затем данные могут быть переданы другим системам Power Automate потоками.

Данные таблицы ввода

Таблица, показывающая данные таблицы ввода.

Вариант этого примера также включает гиперссылки в одном из столбцов таблицы. Это позволяет всплыть в JSON дополнительные уровни данных ячейки.

Данные таблицы ввода, включаемой гиперссылки

Таблица, показывающая столбец данных таблицы, форматированный как гиперссылки.

Диалоговое окно для редактирования гиперссылки

Диалоговое окно Редактирование гиперссылки, отображающий параметры для изменения гиперссылки.

Пример Excel файла

Скачайте файлtable-data-with-hyperlinks.xlsx для готовой к использованию книги. Добавьте следующий скрипт, чтобы попробовать пример самостоятельно!

Пример кода: данные таблицы возврата в качестве JSON

Вы можете изменить interface TableData структуру, чтобы соответствовать столбцам таблицы. Обратите внимание, что для имен столбцов с пробелами обязательно поместите ключ в кавычках, например в "Event ID" примере.

Пример вывода из таблицы "PlainTable"

Пример кода. Возвращаем данные таблицы как JSON с текстом гиперссылки

Сценарий всегда извлекает гиперссылки из 4-го столбца (индекс 0) таблицы. Вы можете изменить этот порядок или включить несколько столбцов в качестве данных гиперссылки, изменяя код под комментарием // For the 4th column (0 index), extract the hyperlink and use that instead of text.

Пример вывода из таблицы "WithHyperLink"

Использование в Power Automate

О том, как использовать такой сценарий в Power Automate, см. в Power Automate.

Есть много способов преобразовать файл Excel в данные JSON в Python. В этом руководстве мы рассмотрим два модуля python для преобразования файлов Excel в JSON:

Преобразование файла Excel в файлы JSON с использованием модуля excel2json-3

Это очень простой модуль для преобразования файлов Excel в файлы JSON. Содержимое таблицы Excel преобразуется в строку JSON и сохраняется в файле.

Имя файлов происходит от имен листов Excel. Итак, если есть два листа с именами «Numbers» и «Cars», файлы JSON будут называться Numbers.json и Cars.json соответственно.

Модуль поддерживает преобразование файлов в форматах .xls и .xlsx. Мы можем прочитать файл Excel из файловой системы, а также URL-адрес.

Мы можем установить этот модуль с помощью команды PIP.

В нашем примере я создал файл Excel с именем «records.xlsx», имеющий три листа.

Пример Excel File в Json в Python

Вот сценарий для преобразования этого файла Excel в файлы JSON.

Скрипт создает три файла JSON.

Если вам нужно прочитать файл Excel по URL-адресу, используйте функцию convert_from_url().

Ограничения модуля excel2json-3

  • Плагин имеет очень ограниченные возможности.
  • Нет возможности пропустить какой-либо лист, строки или столбцы. Это затрудняет использование файлов Excel большего размера.
  • JSON сохраняется в файлы. В большинстве случаев мы хотим преобразовать в JSON и использовать его в нашей программе, а не сохранять в виде файла.
  • Целые числа преобразуются в числа с плавающей запятой.

Преобразование листа Excel в строку JSON с помощью модуля Pandas

Модуль Pandas предоставляет функции для чтения таблиц Excel в объект DataFrame. Есть много опций для указания заголовков, чтения определенных столбцов, пропуска строк и т.д.

Мы можем использовать функцию to_json() для преобразования объекта DataFrame в строку JSON. Давайте посмотрим на простой пример, чтобы прочитать лист «Сотрудники» и преобразовать его в строку JSON.

Итак, данные JSON создаются с ориентацией столбцов. Если вы хотите создать строку JSON с построчной ориентацией, передайте значение параметра «orient» как «records».

Заключение

Если у вас есть простой и хорошо структурированный файл Excel, и вы хотите преобразовать его в файлы JSON, используйте модуль excel2json-3. Но если вам нужен больший контроль над тем, как данные Excel читаются и конвертируются в строку JSON, используйте модуль pandas.

Читайте также: