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

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

Выбор Data Interactively

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

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

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

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

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

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

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

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

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

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

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

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

  1. Откройте один из файлов в Инструменте для импорта.

  2. От Кнопки выбора Импорта выберите Generate Function. Инструмент для импорта генерирует код, подобный следующей выборке, и открывает код в Редакторе.

    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.

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

|

Похожие темы

Была ли эта тема полезной?