writematrix

Запишите матрицу в файл

Описание

пример

writematrix(A) пишет гомогенный массив A к разделенному текстовому файлу запятой. Имя файла является именем переменной рабочей области массива, добавленного с дополнительным .txt. Если writematrix не может создать имя файла из имени массивов, затем это пишет в файл matrix.txt.

Каждый столбец каждой переменной в A становится столбцом в выходном файле. writematrix функционируйте перезаписывает любой существующий файл.

пример

writematrix(A,filename) записи к файлу с именем и расширением заданы filename.

writematrix определяет формат файла на основе заданного расширения. Расширение должно быть одним из следующего:

  • .txt, .dat, или .csv для разделенных текстовых файлов

  • .xls, .xlsm, или .xlsx для Excel® файлы электронной таблицы

  • .xlsb для файлов электронной таблицы Excel, поддержанных в системах с Excel для Windows®

пример

writematrix(___,Name,Value) пишет массив в файл с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы и могут включать любой из входных параметров в предыдущих синтаксисах.

Примеры

свернуть все

Создайте матрицу, запишите его в разделенный от запятой текстовый файл, и затем запишите матрицу в другой текстовый файл с различным символом-разделителем.

Создайте матрицу в рабочей области.

M = magic(5)
M = 5×5

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

Запишите матрицу в разделенный текстовый файл запятой и отобразите содержимое файла. writematrix функционируйте выводит текстовый файл под названием M.txt.

writematrix(M)
type 'M.txt'
17,24,1,8,15
23,5,7,14,16
4,6,13,20,22
10,12,19,21,3
11,18,25,2,9

Чтобы записать ту же матрицу в текстовый файл с различным символом-разделителем, используйте 'Delimiter' пара "имя-значение".

writematrix(M,'M_tab.txt','Delimiter','tab')
type 'M_tab.txt'
17	24	1	8	15
23	5	7	14	16
4	6	13	20	22
10	12	19	21	3
11	18	25	2	9

Создайте матрицу, запишите его в файл электронной таблицы, и затем считайте и отобразите содержимое файла.

Создайте матрицу в рабочей области.

M = magic(5)
M = 5×5

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

Запишите матрицу в файл электронной таблицы.

writematrix(M,'M.xls')

Считайте и отобразите матрицу от M.xls.

readmatrix('M.xls')
ans = 5×5

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

Создайте матрицу и запишите его в заданный лист и область значений в файле электронной таблицы.

Создайте матрицу в рабочей области.

M = magic(5)
M = 5×5

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

Запишите матрицу в M.xls, к второму рабочему листу в файле, запускающемся в третьей строке.

writematrix(M,'M.xls','Sheet',2,'Range','A3:E8')

Считайте и отобразите матрицу.

readmatrix('M.xls','Sheet',2,'Range','A3:E8')
ans = 5×5

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

Добавьте массив данных ниже существующих данных в электронной таблице.

Создайте две матрицы в рабочей области.

M1 = magic(5)
M1 = 5×5

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

M2 = [5 10 15 20 25; 30 35 40 45 50]
M2 = 2×5

     5    10    15    20    25
    30    35    40    45    50

Запишите матричный M1 в файл электронной таблицы, M.xls.

writematrix(M1,'M.xls')

Добавьте данные в матричном M2 ниже существующих данных в файле электронной таблицы.

writematrix(M2,'M.xls','WriteMode','append')

Считайте файл электронной таблицы и отобразите матрицу.

readmatrix('M.xls')
ans = 7×5

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9
     5    10    15    20    25
    30    35    40    45    50

Добавьте массив данных ниже существующих данных в текстовом файле.

Создайте две матрицы в рабочей области.

fibonacci1 = [1 1 2 3; 5 8 13 21; 34 55 89 144]
fibonacci1 = 3×4

     1     1     2     3
     5     8    13    21
    34    55    89   144

fibonacci2 = [233 377 610 987]
fibonacci2 = 1×4

   233   377   610   987

Запишите матричный fibonacci1 к текстовому файлу, fibonacci.txt.

writematrix(fibonacci1,'fibonacci.txt')

Добавьте данные в fibonacci2 ниже существующих данных в текстовом файле.

writematrix(fibonacci2,'fibonacci.txt','WriteMode','append')

Считайте текстовый файл и отобразите матрицу.

readmatrix('fibonacci.txt')
ans = 4×4

     1     1     2     3
     5     8    13    21
    34    55    89   144
   233   377   610   987

Входные параметры

свернуть все

Входные данные в виде матрицы.

Имя файла в виде вектора символов или строкового скаляра.

В зависимости от местоположения вы пишете в, filename может взять одну из следующих форм.

Местоположение

Форма

Текущая папка

Чтобы записать в текущую папку, задайте имя файла в filename.

Пример: 'myTextFile.csv'

Другие папки

Чтобы записать в папку, отличающуюся от текущей папки, задайте полное имя или относительный путь в filename.

Пример: 'C:\myFolder\myTextFile.csv'

Пример: 'myFolder\myExcelFile.xlsx'

Удаленное местоположение

Записать в удаленное местоположение, filename должен содержать полный путь файла, заданного как универсальный локатор ресурса (URL) формы:

scheme_name://path_to_file/my_file.ext

На основе удаленного местоположения, scheme_name может быть одно из значений в этой таблице.

Удаленное местоположениеscheme_name
Amazon S3™s3
Windows Azure® Устройство хранения данных блобаwasb, wasbs
HDFS™hdfs

Для получения дополнительной информации смотрите работу с Удаленными данными.

Пример: 's3://bucketname/path_to_file/my_file.xlsx'

  • Если filename включает расширение файла, затем функция записи определяет формат файла из расширения. В противном случае функция записи создает запятую, разделил текстовый файл и добавляет дополнительный .txt. В качестве альтернативы можно задать filename без расширения файла, и затем включают 'FileType' аргументы пары "имя-значение", чтобы указать на тип файла.

  • Если filename не существует, затем функция записи создает файл.

  • Если filename имя файла существующего текста, затем функция записи перезаписывает файл.

  • Если filename имя существующего файла электронной таблицы, затем функция записи пишет данные в заданное местоположение, но не перезаписывает значений вне области значений входных данных.

Типы данных: char | string

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'FileType',text указывает, что имена переменных не должны быть включены как первая строка выходного файла.
Текст и файлы электронной таблицы

свернуть все

Тип файла в виде разделенной запятой пары, состоящей из 'FileType' и вектор символов или строка, содержащая 'text' или 'spreadsheet'.

'FileType' пара "имя-значение" должна использоваться с filename входной параметр. Вы не должны задавать 'FileType' аргумент пары "имя-значение", если filename входной параметр включает стандартное расширение файла. Следующие стандартные расширения файла распознаны функцией записи:

  • .txt, .dat, или .csv для разделенных текстовых файлов

  • .xls, .xlsm, или .xlsx для файлов электронной таблицы Excel

  • .xlsb для файлов электронной таблицы Excel, поддержанных в системах с Excel для Windows

Пример: 'FileType','spreadsheet'

Типы данных: char | string

Локаль для записи дат в виде разделенной запятой пары, состоящей из 'DateLocale' и вектор символов или строковый скаляр. При записи datetime значения к файлу, используйте DateLocale задавать локаль в который writematrix должен написать имена месяца и дня недели и сокращения. Вектор символов или строка принимают форму xx_YY, где xx строчный ISO 639-1 двухбуквенный код, указывающий на язык и YY прописная альфа ISO 3166-1 2 кода, указывающие на страну. Для списка общих значений для локали смотрите Locale аргумент пары "имя-значение" для datetime функция.

Функция записи игнорирует 'DateLocale' значение параметров каждый раз, когда даты могут быть записаны как отформатированные даты Excel.

Пример: 'DateLocale','ja_JP'

Типы данных: char | string

Режим Writing в виде разделенной запятой пары, состоящей из 'WriteMode' и вектор символов или строковый скаляр. Выберите режим записи на основе типа файла.

FileType

Режим записи

Текстовые файлы

  • 'overwrite' (значение по умолчанию) — Перезапись файл.

  • 'append' — Добавьте данные к файлу.

Если файл, который вы задали, не существует, то функция записи создает и записывает данные к новому файлу.

Файлы электронной таблицы

  • 'inplace' (значение по умолчанию) — Обновление только область значений занято входными данными. Функция записи не изменяет данных за пределами области значений, занятой входными данными.

    • Если вы не задаете лист, то функция записи пишет в первый лист.

  • 'overwritesheet' — Очистите заданный лист и запишите входные данные в очищенный лист.

    • Если вы не задаете лист, то функция записи очищает первый лист и пишет входные данные в него.

  • 'append' — Функция записи добавляет входные данные к нижней части занятой области значений заданного листа.

    • Если вы не задаете лист, то функция записи добавляет входные данные к нижней части занятой области значений первого листа.

  • 'replacefile' — Удалите все другие листы из файла, затем очистите и запишите входные данные в к заданному листу.

    • Если вы не задаете лист, то функция записи удаляет все другие листы из файла, и затем очищает и пишет входные данные в первый лист.

    • Если файл, который вы задали, не существует, то функция записи создает новый файл и пишет входные данные в первый лист.

  • Когда WriteVariableNames установлен в true, функция записи не поддерживает режим записи 'append'.

  • Для файлов электронной таблицы:

    • Когда режимом записи является 'append', функция записи не поддерживает Range параметр.

    • Если файл, который вы задали, не существует, то функция записи выполняет те же действия как 'replacefile'.

Пример: 'WriteMode','append'

Типы данных: char | string

Текстовые файлы только

свернуть все

Символ разделителя полей в виде разделенной запятой пары, состоящей из 'Delimiter' и вектор символов или строковый скаляр, содержащий один из этих спецификаторов:

Спецификатор

Разделитель полей

','

'comma'

Запятая. Это поведение по умолчанию.

' '

'space'

Пробел

'\t'

'tab'

Вкладка

';'

'semi'

Точка с запятой

'|'

'bar'

Вертикальная панель

Можно использовать 'Delimiter' пара "имя-значение" только для разделенных текстовых файлов.

Пример: 'Delimiter','space'

Типы данных: char | string

Индикатор для записи заключенного в кавычки текста в виде 'QuoteStrings' и любой true или false.

  • Если 'QuoteStrings' true, затем функция заключает текст в символы двойной кавычки и заменяет любой сопроводительный текст символов двойной кавычки на два символа двойной кавычки. Два символа двойной кавычки также упоминаются как оставленные символы.

  • Если 'QuoteStrings' false, затем текст записан без изменения.

  • Если 'QuoteStrings' не задано, функция смотрит данные для разделителей, определяемых 'Delimiter' аргумент значения имени. Если разделитель будет найден в рамках столбца, каждый элемент в рамках столбца будет записан с двойными кавычками.

Можно использовать 'QuoteStrings' аргумент значения имени только с разделенными текстовыми файлами.

Схема кодировки символов, сопоставленная с файлом в виде разделенной запятой пары, состоящей из 'Encoding' и 'system' или имя схемы кодирования стандартного символа. Когда вы не задаете кодирования, функция записи использует UTF-8, чтобы записать файл.

Пример: 'Encoding','UTF-8' использование UTF-8 как кодирование.

Типы данных: char | string

Файлы электронной таблицы только

свернуть все

Рабочий лист, чтобы записать в в виде разделенной запятой пары, состоящей из 'Sheet' и вектор символов или строковый скаляр, содержащий имя рабочего листа или положительное целое число, указывающее на индекс рабочего листа. Имя рабочего листа не может содержать двоеточие (:). Чтобы определить имена листов в файле электронной таблицы, используйте sheets = sheetnames(filename). Для получения дополнительной информации смотрите sheetnames.

Задайте рабочий лист, чтобы записать в по наименованию или индекс:

  • имя — Если заданное имя листа не существует в файле, то функция записи добавляет новый лист в конце набора рабочего листа.

  • индекс — Если заданный индекс листа является индексом, больше, чем количество рабочих листов, то функция записи добавляет пустые листы до количества рабочих листов в рабочей книге, равняется индексу листа. Функция записи также генерирует предупреждение, указывающее, что она добавила новый рабочий лист.

Можно использовать 'Sheet' пара "имя-значение" только с файлами электронной таблицы.

Пример: 'Sheet',2

Пример: 'Sheet', 'MySheetName'

Типы данных: char | string | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Прямоугольный фрагмент рабочего листа, чтобы записать в в виде разделенной запятой пары, состоящей из 'Range' и вектор символов или строковый скаляр в одной из следующих форм.

Форма значения Range Описание
'Corner1'

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

Пример: 'Range','D2'

'Corner1:Corner2'

Corner1 и Corner2 два противостоящих угла, которые задают область, чтобы записать. Например, 'D2:H4' представляет прямоугольную область 3 на 5 между этими двумя углами D2 и H4 на рабочем листе. 'Range' аргумент пары "имя-значение" не является чувствительным к регистру, и использует стиль ссылки Excel A1 (см. справку Excel).

Пример: 'Range','D2:H4'

  • Если диапазон, который вы указываете, меньше, чем размер входных данных, то функция записи пишет только подмножество входных данных, которое помещается в область значений.

  • Если диапазон, который вы указываете, больше, чем размер входных данных, то функция записи оставляет остаток от области как есть.

'Range' пара "имя-значение" может только использоваться с файлами Excel.

Пример: 'Range', 'A1:F10'

Типы данных: char | string

Отметьте, чтобы запустить экземпляр Microsoft® Excel для Windows при записи данных об электронной таблице в виде разделенной запятой пары, состоящей из 'UseExcel' и любой true, или false.

Можно установить 'UseExcel' параметр к одному из этих значений:

  • true — Функция записи запускает экземпляр Microsoft Excel при записывании файла.

  • false — Функция записи не запускает экземпляр Microsoft Excel при записывании файла. При работе в этом режиме функциональность для записи отличается в поддержку форматов файлов и интерактивных функций, таких как формулы и макросы.

UseExcel

true

false

Поддерживаемые форматы файлов

.xls, .xlsx, .xlsm, .xltx, .xltm, .xlsb, .ods

.xls, .xlsx, .xlsm, .xltx, .xltm

Поддержка интерактивных функций, таких как формулы и макросы

Да

Нет

Когда запись в файлы электронной таблицы на платформах Windows, если вы хотите запустить экземпляр Microsoft Excel, затем установила 'UseExcel' параметр к true.

Автоматически настройте ширину столбца в виде true или false. Если вы задаете значение 0 или falseто writematrix автоматически не настроит ширину столбцов, чтобы приспособить данные в ячейках.

Пример: 'AutoFitWidth',0

Сохраните форматирование ячейки существующей электронной таблицы в виде true или false. Если вы задаете false, writematrix не сохранит форматирование ячейки электронной таблицы. Форматирование включает элементы, такие как шрифты, границы ячейки и заштрихованные цветом ячейки.

При записи datetime данные в файл электронной таблицы, необходимо установить оба 'PreserveFormat' и 'UseExcel' Пара "имя-значение" к true сохранить форматирование существующей ячейки. Если 'UseExcel' установлен в false и 'PreserveFormat' установлен в true при записи datetime данные к файлу, writematrix не сохранит форматирование существующей ячейки файла.

Пример: 'PreserveFormat'ложь

Ограничения

  • Установить 'PreserveFormat' пара "имя-значение" к true, необходимо установить 'UseExcel' пара "имя-значение" к true.

Алгоритмы

Существуют некоторые экземпляры где writematrix функция создает файл, который не представляет входные данные точно. Вы заметите это, когда вы будете использовать readmatrix функционируйте, чтобы считать тот файл. Получившиеся данные не могут иметь того же самого формата или содержимого как исходный массив. Если необходимо сохранить массив и получить его в более позднее время, чтобы совпадать с исходным массивом точно, с теми же данными и организацией, то сохранить его как MAT-файл. writematrix написали неточные данные в следующих экземплярах:

  • writematrix выписывает числовые данные с помощью long g формат и категориальные или символьные данные как закрывший кавычки текст.

  • writematrix выписывает массивы, которые имеют больше чем две размерности как двумерные матрицы со свернутыми последующими измерениями.

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

| | |

Введенный в R2019a