主要内容

Writematrix

Write a matrix to a file

Description

example

Writematrix(A)writes homogeneous arrayAto a comma delimited text file. The file name is the workspace variable name of the array, appended with the extension。文本。IfWritematrix无法从数组名称构造文件名,然后将其写入文件matrix.txt

Each column of each variable inA成为输出文件中的列。这Writematrixfunction overwrites any existing file.

example

Writematrix(A,filename)写信给具有指定名称和扩展名的文件filename

Writematrixdetermines the file format based on the specified extension. The extension must be one of the following:

  • 。文本,。dat, or。csvfor delimited text files

  • 。xls,.xlsm, or。xlsx对于Excel®spreadsheet files

  • .xlsb对于Excelspreadsheet files supported on systems with Excel for Windows®

example

Writematrix(___,Name,Value)将数组写入文件,其中包含一个或多个指定的其他选项Name,Valuepair arguments and can include any of the input arguments in previous syntaxes.

Examples

collapse all

Create a matrix, write it to a comma-separated text file, and then write the matrix to another text file with a different delimiter character.

在工作区中创建矩阵。

M = magic(5)
M =5×517 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9

将矩阵写入逗号界的文本文件并显示文件内容。这Writematrixfunction outputs a text file namedM.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

To write the same matrix to a text file with a different delimiter character, use the'Delimiter'name-value pair.

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×517 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9

写矩阵to a spreadsheet file.

Writematrix(M,'M.xls')

阅读并显示矩阵M.xls

readmatrix('M.xls')
ans =5×517 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9

Create a matrix and write it to a specified sheet and range in a spreadsheet file.

在工作区中创建矩阵。

M = magic(5)
M =5×517 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9

写矩阵toM.xls, to the second worksheet in the file, starting at the third row.

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

Read and display the matrix.

readmatrix('M.xls','Sheet',2,'Range','A3:E8')
ans =5×517 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9

在电子表格中的现有数据下方附加一系列数据。

Create two matrices in the workspace.

M1 = magic(5)
M1 =5×517 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×55 10 15 20 25 30 35 40 45 50

写矩阵M1to a spreadsheet file,M.xls

Writematrix(M1,'M.xls')

Append the data in matrixM2在电子表格文件中的现有数据下方。

Writematrix(M2,'M.xls',“ writemode','append')

Read the spreadsheet file and display the matrix.

readmatrix('M.xls')
ans =7×517 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

Append an array of data below existing data in a text file.

Create two matrices in the workspace.

fibonacci1 =[1 1 2 3; 5 8 13 21; 34 55 89 144]
fibonacci1 =3×41 1 2 3 5 8 13 21 34 55 89 144
fibonacci2 = [233 377 610 987]
fibonacci2 =1×4233 377 610 987

写矩阵fibonacci1to a text file,fibonacci.txt

Writematrix(fibonacci1,'fibonacci.txt')

Append the data infibonacci2在文本文件中的现有数据下方。

Writematrix(fibonacci2,'fibonacci.txt',“ writemode','append')

阅读文本文件并显示矩阵。

readmatrix('fibonacci.txt')
ans =4×41 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

Input Arguments

collapse all

输入数据, specified as a matrix.

File name, specified as a character vector or string scalar.

Depending on the location you are writing to,filenamecan take on one of these forms.

Location

Form

Current folder

要写入当前文件夹,请在filename

Example:'myTextFile.csv'

Other folders

To write to a folder different from the current folder, specify the full or relative path name infilename

Example:'C:\myFolder\myTextFile.csv'

Example:'myFolder\myExcelFile.xlsx'

Remote Location

要写入远程位置,filenamemust contain the full path of the file specified as a uniform resource locator (URL) of the form:

scheme_name://path_to_file/my_file.ext

Based on the remote location,scheme_namecan be one of the values in this table.

Remote Location scheme_name
Amazon S3™ s3
Windows Azure®Blob Storage wasb,wasbs
HDFS™ hdfs

For more information, seeWork with Remote Data

Example:'s3://bucketname/path_to_file/my_file.xlsx'

  • Iffilenameincludes the file extension, then the writing function determines the file format from the extension. Otherwise, the writing function creates a comma separated text file and appends the extension。文本。Alternatively, you can specifyfilenamewithout the file’s extension, and then include the'FileType'name-value pair arguments to indicate the type of file.

  • Iffilenamedoes not exist, then the writing function creates the file.

  • Iffilenameis the name of an existing text file, then the writing function overwrites the file.

  • Iffilenameis the name of an existing spreadsheet file, then the writing function writes the data to the specified location, but does not overwrite any values outside the range of the input data.

Data Types:char|string

Name-Value Arguments

Specify optional pairs of arguments asName1=Value1,...,NameN=ValueN, whereNameis the argument name andValueis the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and encloseNamein quotes.

Example:'FileType',textindicates that the variable names should not be included as the first row of the output file.

Text and Spreadsheet Files

collapse all

Type of file, specified as the comma-separated pair consisting of'FileType'以及包含字符向量或字符串'text'or'spreadsheet'

'FileType'name-value pair must be used with thefilenameinput argument. You do not need to specify the'FileType'name-value pair argument if thefilenameinput argument includes a standard file extension. The following standard file extensions are recognized by the writing function:

  • 。文本,。dat, or。csvfor delimited text files

  • 。xls,.xlsm, or。xlsx对于Excelspreadsheet files

  • .xlsb对于Excelspreadsheet files supported on systems with Excel for Windows

Example:'FileType','spreadsheet'

Data Types:char|string

Locale for writing dates, specified as the comma-separated pair consisting of'DateLocale'以及字符向量或字符串标量。写作时datetimevalues to the file, useDateLocaleto specify the locale in whichWritematrixshould write month and day-of-week names and abbreviations. The character vector or string takes the formxx_YY, wherexxis a lowercase ISO 639-1 two-letter code indicating a language, andYYis an uppercase ISO 3166-1 alpha-2 code indicating a country. For a list of common values for the locale, see theLocalename-value pair argument for thedatetimefunction.

这writing function ignores the'DateLocale'参数值每当可以写入Excel-formatted日期时。

Example:'DateLocale','ja_JP'

Data Types:char|string

Writing mode, specified as the comma-separated pair consisting of“ writemode'以及字符向量或字符串标量。Select a write mode based on the file type.

File Type

Write Mode

Text Files

  • 'overwrite'(default) — Overwrite the file.

  • 'append'— Append data to the file.

If the file you specified does not exist, then the writing function creates and writes data to a new file.

Spreadsheet Files

  • '到位'(default) — Update only the range occupied by the input data. The writing function does not alter any data outside of the range occupied by the input data.

    • If you do not specify a sheet, then the writing function writes to the first sheet.

  • 'overwritesheet'— Clear the specified sheet and write the input data to the cleared sheet.

    • If you do not specify a sheet, then the writing function clears the first sheet and writes the input data to it.

  • 'append'— The writing function appends the input data to the bottom of the occupied range of the specified sheet.

    • 如果您不指定表,则写入功能将输入数据附加到第一张纸占用范围的底部。

  • 'replacefile'— Remove all other sheets from the file, then clear and write the input data to the to the specified sheet.

    • If you do not specify a sheet, then the writing function removes all other sheets from the file, and then clears and writes the input data to the first sheet.

    • If the file you specified does not exist, then the writing function creates a new file and writes the input data to the first sheet.

  • 什么时候WriteVariableNames被设定为true, the writing function does not support the write mode'append'

  • For spreadsheet files:

    • 什么时候the write mode is'append', the writing function does not support theRangeparameter.

    • If the file you specified does not exist, then the writing function performs the same actions as'replacefile'

Example:“ writemode','append'

Data Types:char|string

仅文本文件

collapse all

字段定界符字符, specified as the comma-separated pair consisting of'Delimiter'and a character vector or string scalar containing one of these specifiers:

说明符

字段定界符

','

'comma'

Comma. This is the default behavior.

' '

'space'

Space

'\t'

'tab'

标签

';'

'半'

Semicolon

'|'

'bar'

Vertical bar

You can use the'Delimiter'name-value pair only for delimited text files.

Example:'Delimiter','space'

Data Types:char|string

Indicator for writing quoted text, specified as"minimal",“全部”, or"none"

  • IfQuoteStringsis"minimal", then the function encloses any variables containing the delimiter, line ending, or double-quote character in double-quote characters.

  • IfQuoteStringsis“全部”, then the function encloses all text, categorical, datetime, and duration variables in double-quote characters.

  • IfQuoteStringsis"none",然后该函数不会将变量包装在双引号字符中。

You can use theQuoteStrings名称值参数仅带有划界文本文件。

字符编码方案associated with the file, specified as the comma-separated pair consisting of'Encoding'and'system'or a standard character encoding scheme name. When you do not specify any encoding, the writing function uses UTF-8 to write the file.

Example:'Encoding','UTF-8'uses UTF-8 as the encoding.

Data Types:char|string

Spreadsheet Files Only

collapse all

Worksheet to write to, specified as the comma-separated pair consisting of'Sheet'and a character vector or a string scalar containing the worksheet name or a positive integer indicating the worksheet index. The worksheet name cannot contain a colon (:). To determine the names of sheets in a spreadsheet file, usesheets = sheetnames(filename)。For more information, seesheetnames

Specify the worksheet to write to by name or index:

  • name — If the specified sheet name does not exist in the file, then the writing function adds a new sheet at the end of the worksheet collection.

  • index — If the specified sheet index is an index larger than the number of worksheets, then the writing function appends empty sheets until the number of worksheets in the workbook equals the sheet index. The writing function also generates a warning indicating that it has added a new worksheet.

You can use the'Sheet'name-value pair only with spreadsheet files.

Example:'Sheet',2

Example:'Sheet','MySheetName'

Data Types:char|string||double|int8|INT16|INT32|int64|uint8|uint16|uint32|uint64

矩形工作表的矩形部分要写入,指定为逗号分隔对'Range'and a character vector or string scalar in one of the following forms.

表单的值ofRange Description
'Corner1'

Corner1specifies the first cell of the region to write. The writing function writes the data starting at this cell.

Example:'Range','D2'

'Corner1:Corner2'

Corner1andCorner2are two opposing corners that define the region to write. For example,'D2:H4'represents the 3-by-5 rectangular region between the two cornersD2andH4on the worksheet. The'Range'name-value pair argument is not case sensitive, and uses Excel A1 reference style (see Excel help).

Example:'Range','D2:H4'

  • If the range you specify is smaller than the size of the input data, then the writing function writes only a subset of the input data that fits into the range.

  • If the range you specify is larger than the size of the input data, then the writing function leaves the remainder of the region as it is.

'Range'名称值对只能与Excel文件一起使用。

Example:'Range','A1:F10'

Data Types:char|string

Flag to start an instance ofMicrosoft®Excelfor Windows when writing spreadsheet data, specified as the comma-separated pair consisting of'UseExcel'and eithertrue, orfalse

You can set the'UseExcel'parameter to one of these values:

  • true— The writing function starts an instance of Microsoft Excel when writing the file.

  • false— The writing function does not start an instance of Microsoft Excel when writing the file. When operating in this mode, functionality for writing differs in the support of file formats and interactive features, such as formulas and macros.

UseExcel

true

false

万博1manbetx支持的文件格式

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

xls, .xlsx .xlsm、.xltx .xltm

Support for interactive features, such as formulas and macros

Yes

No

写作时to spreadsheet files on Windows platforms, if you want to start an instance ofMicrosoft Excel, then set the'UseExcel'parameter totrue

Automatically adjust column width, specified astrueorfalse。如果指定a value of0orfalse, thenWritematrixwill not automatically adjust the column widths to fit the data in the cells.

Example:'AutoFitWidth',0

Preserve cell formatting of existing spreadsheet, specified astrueorfalse。如果指定false,Writematrixwill not preserve the cell formatting of the spreadsheet. Formatting includes elements such as fonts, cell borders, and color-shaded cells.

写作时datetimedata to a spreadsheet file, you must set both'PreserveFormat'and the'UseExcel'Name-Value pair totrueto preserve the existing cell formatting. If'UseExcel'被设定为falseand'PreserveFormat'被设定为true写作时datetimedata to the file,Writematrixwill not preserve the existing cell formatting of the file.

Example:'PreserveFormat',false

Limitations

  • To set the'PreserveFormat'名称对true, you must set the'UseExcel'名称对true

Algorithms

这re are some instances where theWritematrixfunction creates a file that does not represent the input data exactly. You will notice this when you use thereadmatrixfunction to read that file. The resulting data might not have the exact same format or contents as the original array. If you need to save your array and retrieve it at a later time to match the original array exactly, with the same data and organization, then save it as a MAT-file.Writematrixwrites inexact data in the following instances:

  • Writematrixwrites out numeric data usinglong gformat, and categorical or character data as unquoted text.

  • Writematrixwrites out arrays that have more than two dimensions as two dimensional arrays, with the trailing dimensions collapsed.

Version History

Introduced in R2019a