Чтение данных электронной таблицы Используя Инструмент для импорта

Этот пример показывает, как импортировать данные из электронной таблицы в рабочую область с помощью Import Tool.

Интерактивный выбор данных

На вкладке Home, в разделе Variable, нажимают Import Data . Также в Браузере текущей папки, дважды кликните имя файла с расширением .xls, .xlsx, .xlsb или .xlsm. Import Tool открывается.

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

На вкладке Import, в разделе Output Type, выбор, как вы хотите, чтобы данные были импортированы. Опция, которую вы выбираете, диктует тип данных импортированных данных.

Выбранная опцияКак данные импортированы
Вектор-столбцыИмпортируйте каждый столбец выбранных данных как отдельный m-by-1 вектор.
Числовая матрицаИмпортируйте выбранные данные как m-by-n числовой массив.
StringArrayИмпортируйте выбранные данные как m-by-n массив строк.
CellArrayИмпортируйте выбранные данные как массив ячеек, который может содержать несколько типов данных, таких как числовые данные и текст.
ТаблицаИмпортируйте выбранные данные как таблицу.

Если вы принимаете решение импортировать данные как матрицу или как числовые вектор-столбцы, инструмент подсвечивает любые нечисловые данные в рабочем листе. Каждый цвет подсветки соответствует предложенному правилу превратить совпадение данных в числовой массив. Например, можно заменить нечисловые значения на NaN. Кроме того, вы видите, как ваши данные будут импортированы, когда вы установите курсор на отдельные ячейки.

Можно добавить, удалить, переупорядочить или отредактировать правила, такие как изменение заменяющего значения от NaN до другого значения. Все правила применяются к импортированным данным только и не изменяют данные в файле. Задайте правила любое время, область значений включает нечисловые данные, и вы импортируете в матричные или числовые вектор-столбцы.

Любые ячейки, которые содержат #Error?, соответствуют ошибкам формулы в вашем файле электронной таблицы, таким как деление на нуль. Import Tool рассматривает эти ячейки как нечисловые.

Когда вы нажимаете кнопку Import Selection, Import Tool создает переменные в вашей рабочей области.

Для получения дополнительной информации о взаимодействии с Import Tool посмотрите этот ролик.

Импортирование данных из нескольких электронных таблиц

Если вы планируете выполнить ту же операцию импорта на нескольких файлах, можно сгенерировать код от Import Tool, чтобы облегчить повторять операцию. На всех платформах Import Tool может сгенерировать скрипт программы, который можно отредактировать и запустить, чтобы импортировать файлы. В системах Microsoft® Windows® с программным обеспечением Excel® Import Tool может сгенерировать функцию, что можно призвать к каждому файлу.

Например, предположите, что у вас есть набор электронных таблиц в текущей папке под названием myfile01.xlsx через myfile25.xlsx, и вы хотите импортировать ту же область значений данных, A2:G100, из первого рабочего листа в каждом файле. Сгенерируйте код для импорта всего набора файлов следующим образом:

  1. Откройте один из файлов в Import Tool.

  2. От кнопки Import Selection выберите Generate Function. Import Tool генерирует код, подобный следующей выборке, и открывает код в Редакторе.

    function data = importfile(workbookFile, sheetName, range)
    %IMPORTFILE    Import numeric data from a spreadsheet
    ...
  3. Сохраните функцию.

  4. В отдельном программном файле или в командной строке, создайте цикл for, чтобы импортировать данные из каждой электронной таблицы в массив ячеек под названием myData:

    numFiles = 25;
    range = 'A2:G100';
    sheet = 1;
    myData = cell(1,numFiles);
    
    for fileNum = 1:numFiles
        fileName = sprintf('myfile%02d.xlsx',fileNum);
        myData{fileNum} = importfile(fileName,sheet,range);
    end

Каждая ячейка в myData содержит массив данных из соответствующего рабочего листа. Например, myData{1} содержит данные из первого файла, myfile01.xlsx.

Смотрите также

| | | |

Похожие темы