13.3.3. Мастер импорта данных и функция READFILE



В Mathcad 12 появились две новых, более универсальных, возможности для импорта данных из внешнего файла. Они связаны с появлением Мастера импорта данных, позволяющего осуществить импорт в нужном формате в диалоговом режиме с подсказками, а также новой встроенной функции READFILE, призванной унифицировать процесс импорта. Первый путь позволяет импортировать данные "вручную", проследив процесс считывания данных последовательно, шага за шагом, а второй — автоматизировать его, не путаясь в других многочисленных функциях импорта.

ПРИМЕЧАНИЕ

Оба способа подразумевают возможность импорта файлов данных самых разных форматов: текстовых с разнообразными символами-разделителями, а также файлы формата xls (Microsoft Excel).



Рассмотрим реализацию первой возможности на примере считывания данных из файла, представленного ранее на рис. 13.20 и 13.21 и в листингах 13.16 и 13.17 (см. разд. 13.3.1):

1. Введите команду меню Insert / Component (Вставка / Компонент), а затем выберите в списке тип компонента Data Import Wizard (Мастер импорта данных). В результате появится окно Мастера, которое в пошаговом диалоговом режиме позволит осуществить считывание нужной информации (рис. 13.25).

2. Выберите в раскрывающемся списке File format (Формат файла) желаемый формат файла, из которого вы осуществляете импорт (рис. 13.26). Если вы затрудняетесь с его точной идентификацией, лучшим решением будет задание типа Delimited Text (Текст с разделителями), что позволит возложить распознавание типа данных и формат их записи на Mathcad.

3. Нажмите кнопку Browse (Пролистать) и отыщите в открывшемся диалоговом окне местоположение нужного вам файла.

4. Если вы уверены (например, основываясь на накопленном опыте работы с Мастером импорта), что данные будут считаны правильно, то можете сразу нажать кнопку Finish (Завершить). Если вы хотите просмотреть и, при необходимости, изменить те или иные опции импорта, нажмите кнопку Next (Вперед). В последнем случае в диалоговом режиме еще на двух страницах Мастера (подобных рис. 13.26, но с новыми параметрами) можно будет отредактировать многочисленные параметры импорта (такие как тип разделителя между данными, интервалы импорта и т. д.).



Рис. 13.25. Стартовая страница окна Data Import Wizard



Рис. 13.26. Следующая страница окна Data Import Wizard


5. После нажатия кнопки Finish (Завершить) в диалоге Data Import Wizard (Мастер импорта данных) и возвращения на рабочую область документа Mathcad введите в местозаполнитель, появившийся слева от таблицы импортированных данных, желаемое имя переменной. В дальнейших расчетах ее можно будет использовать как обычную матрицу.

Итог работы Мастера показан на рис. 13.27. Его первая строка является результатом описанных шагов по считыванию данных в матрицу, а вторая строка показывает вывод этой матрицы в стандартной для Mathcad форме.



Рис. 13.27. Результат импорта данных из файла


Новая функция READFILE облегчает процесс "программного" считывания данных из файла (листинг 13.22):

  •  READFILE ("file","type",[colwidth,rows,cols,emptyfill]) — возвращает матрицу с элементами, считанными из внешнего файла данных:

  •  "file" — название файла (включая путь к нему на диске);
  •  "type" — тип файла ("delimited" или "Excel");
  •  colwidth — ширина столбца данных, считываемого из файла в случае выбора в качестве предыдущего параметра типа "fixed", т. е. с фиксированной шириной данных;
  •  rows — начальная строка импорта данных или двухкомпонентный вектор, задающий интервал импорта строк;
  •  cols — начальный столбец импорта данных или двухкомпонентный вектор, задающий интервал импорта столбцов;
  •  emptyfill — значение, которое будет использовано для замены отсутствующих данных (пустот в файле). Для него можно использовать значение НеЧисло (NaN) (см. разд. 1.2.5).

Листинг 13.22. Импорт данных при помощи универсальной функции READFILE