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

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

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

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

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

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

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

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

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

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

При нажатии кнопки < reservedrangesplaceholder0 > Инструмента для импорта создает переменные в рабочей рабочей области.

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

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

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

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

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

  2. Из кнопки Import Selection выберите 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.

Вставка данных из буфера обмена

В дополнение к интерактивному импорту данных можно также вставить данные электронных таблиц из буфера обмена в MATLAB®.

Сначала выберите и скопируйте данные электронных таблиц в Microsoft Excel, а затем используйте один из следующих методов:

  • В строке заголовка браузера Рабочей области щелкните, а затем выберите Paste.

  • Откройте существующую переменную в редакторе Переменных, щелкните правой кнопкой мыши и выберите Paste Excel Data.

  • Функции uiimport -pastespecial.

См. также

| | | |

Похожие темы