импорт::
Считайте данные о CSV из ASCII-файла
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
import::csv(filename
, <separator
>, <NonNested>, <Trim>, <DecimalComma>) import::csv(n
, <separator
>, <NonNested>, <Trim>, <DecimalComma>)
import::csv
используется, чтобы считать CSV (“Запятая Разделенные Значения” или “Символьные Разделенные Значения”) файлы данных, произведенные внешними программами, как Microsoft® Excel®. CSV является основанным на ASCII форматом файла табличных данных, официально заданным в RFC 4180, которому разделил поля символ запятой.
Некоторые локализованные версии Microsoft Excel используют точки с запятой вместо запятых! Установите параметр separator
, чтобы изменить разделитель по умолчанию.
import::csv(filename)
считывает данные в файле filename
. Данные о файле, разделенные запятой, рассматриваются как различные элементы данных. Результатом является список списков, каждого подсписка, представляющего одну строку файла.
import::csv(filename, separator)
считывает данные в файле filename
. Данные о файле, разделенные символьным separator
, рассматриваются как различные элементы данных. Результатом является список списков, каждого подсписка, представляющего одну строку файла.
import::csv(filename, separator, NonNested)
считывает данные в файле filename
как одна запись данных. Данные о файле, разделенные символьным separator
, рассматриваются как различные элементы данных. Результатом является невложенный список плоскости, содержащий данные всех строк файла.
В отличие от finput
, данные не должны быть закончены двоеточием или точкой с запятой. Данные, разделенные separator
, интерпретированы как один элементы данных. Разделитель по умолчанию является запятой.
Проигнорированы пустые строки.
Все элементы данных в файле, который не может быть преобразован в допустимые числа MuPAD®, импортируются как строки MuPAD.
import::csv
пытается преобразовать номер, содержавшийся в файле CSV к допустимому номеру MuPAD. Например: 1,234.56 или 1 234.56 преобразованы в MuPAD номер 1234.56. Много стран используют запятую, чтобы разделить неотъемлемую и дробную часть вместо точки, используемой в Англии и США. Например: 1234,56 или 1.234,56 преобразованы в 1 234,56. import::csv
ожидает этот числовой формат, если опция DecimalComma
будет дана.
Запятая как разделитель CSV не целесообразна, если запятая используется, чтобы разделить тысячи в номере, или десятичная запятая используется. В большинстве случаев файл CSV использует точку с запятой, чтобы разделить данные. Так, точка с запятой должна использоваться в качестве разделителя.
Все числа, содержавшиеся в файле CSV, должны использовать тот же разделитель основания, смешанные форматы не могут быть преобразованы.
С NonNested
результатом будет список, содержащий все данные. В противном случае результатом является список списка, каждого “внутреннего” списка, представляющего строку файла CSV.
С Trim
удалены начальные и конечные пробелы в строках.
Если файл задан строкой, соответствующий файл открыт и закрыт, автоматически. Если пользователь открыл текстовый файл в режиме Read
и передает дескриптор файла, чтобы импортировать:: readdata, файл остается открытым и должен быть закрыт пользователем.
Файлы, сжатые с gzip
или в совместимом формате, чей конец имен в “.gz
”, автоматически распаковываются, будучи считанным import::csv
.
import::csv(filename)
ищет файл в различных директориях:
Во-первых, имя интерпретировано как имя файла прямого доступа: filename
конкатенирован к каждой директории, данной переменной окружения READPATH
.
Затем имя файла интерпретировано как абсолютный путь.
Затем имя файла интерпретировано относительно “рабочей директории”.
Наконец, имя файла конкатенировано к пути к каталогу.
Если файл может быть открыт с одним из этого, называет, то файл читается.
Обратите внимание на то, что значение “рабочей директории” зависит от операционной системы. В системах Microsoft Windows® и в Apple Mac OS X систем, “рабочая директория” является папкой, где MuPAD установлен. В системах UNIX® это - текущая рабочая директория, в которой был запущен MuPAD; когда запущено с меню или настольного элемента, это обычно - корневой каталог пользователя.
Разделитель пути (“/”) вставляется по мере необходимости при конкатенации данного пути и filename
.
Если файл задан именем файла, нет никакой потребности открыть или закрыть файл через fopen
и fclose
, соответственно. Это сделано автоматически import::readdata
.
Вместо имени файла также может использоваться дескриптор файла файла, открытого через fopen
. Обратите внимание на то, что файл, должно быть, был открыт в режиме Read
fopen
. Если дескриптор файла используется, соответствующий файл не закрывается автоматически, но должен быть закрыт пользователем через fclose
.
Мы хотим считать данные о CSV в сеанс MuPAD. Примите, что файл “datafile.csv
” содержит следующие два столбца данных о ASCII:
a ,12.5 a-b ,1234.56
import::csv
возвращает следующий список, представляющий данные в файле:
data := import::csv("datafile.csv")
data := import::csv("datafile.csv", Trim)
data := import::csv("datafile.csv", NonNested)
Давайте примем, что файл “datafile.csv
” содержит следующие данные о ASCII:
a ;12.5 a-b;1,234.56 a b; -12345.6789E-02
Мы задаем разделитель данных ";"
для чтения данных:
import::csv("datafile.csv", ";")
Давайте примем, что файл “datafile.csv
” содержит следующие данные о ASCII:
abc;12,5 a-b;1.234,56 a b; -12345.6789E-02
Мы задаем разделитель данных ";"
и опция DecimalComma
для чтения данных:
import::csv("datafile.csv", ";", DecimalComma)
| |
|
Дескриптор файла обеспечивается |
|
Разделитель между элементами данных: символьная строка длины 1 (отдельный символ). Разделитель по умолчанию является запятой (односимвольная строка |
|
Возвратите все данные о файле как одну запись данных в невложенном списке. Данные всех строк упорядочены последовательно в этом списке. |
|
Удалены начальные и конечные пробелы в строках. |
|
Десятичная запятая вместо десятичной точки используется в качестве разделителя основания в файле CSV. |
Вложенный список списков. Подсписки содержат данные отдельных строк. С опцией NonNested
, простой список, содержащий все элементы данных от каждой строки в файле.