将数据从 MATLAB 导出到 Excel
本教程将讨论使用 MATLAB 中的 writematrix()
、writetable()
和 writecell()
函数将数据导出到 excel 文件。
使用 MATLAB 中的 writematrix() 函数将数据导出到 Excel 文件
writematrix()
函数用于将矩阵写入文件。 如果我们要导出的数据保存在一个矩阵中,我们可以使用writematrix()函数。
writematrix()
函数具有如下所示的三种语法:
writematrix(data)
writematrix(data,file_name)
writematrix(___,Property_Name,Property_Value)
第一种语法会将给定的矩阵写入扩展名为 .txt 的文本文件,并使用逗号作为分隔符来分隔行中的元素。 writematrix()
函数将使用矩阵变量的名称作为输出文件的名称,如果函数不能使用矩阵名称,它将使用 matrix.txt 名称作为文件名称。
每个输入矩阵行将成为输出文件中的一行。 如果文件名已经存在,该函数将覆盖数据,这意味着以前的数据将丢失并被新数据替换。
第二种语法用于设置文件名及其扩展名。 我们可以给输出文件起任何名字。
我们可以使用 .txt、.dat 和 .csv 文件扩展名将数据保存在文本文件中,我们可以在其中添加分隔符。 我们可以使用 .xls、.xlsm 和 .xlsx 文件扩展名将数据保存在 Excel 文件的电子表格中。
只有在系统支持该文件格式的情况下,我们才能使用.xlsb 文件扩展名将数据保存在Excel 电子表格中。 例如,让我们将矩阵写入电子表格文件。
请参阅下面的代码。
clc
clear
X = magic(3)
writematrix(X,'X.xls')
最后一个语法使用属性名称和值更改 writematrix() 函数的属性。
我们可以使用 FileType 属性将文件类型设置为文本或电子表格。 我们可以使用 DateLocale 属性来设置用于写入日期的语言环境。
当输入矩阵包含 DateTime 值时,DateLocale 属性很有用,我们可以使用它来指定日期的格式,并将其存储在文件中。 检查此链接以查看可用于存储日期值的区域设置支持的所有格式。
我们可以使用 WriteMode 属性来设置数据写入模式。 对于文本文件,我们可以将写入模式从默认模式覆盖更改为附加,这会将新数据附加到文件中先前存储的数据。
对于 excel 文件,默认模式设置为 inplace,这将替换新数据范围内的数据。 例如,如果新数据有5行5列,那么只替换文件的5行5列,其余数据保持不变。
我们可以使用overwritesheet模式,它会清除指定的sheet并将新数据写入sheet,如果我们不指定sheet,则会使用第一个sheet。 我们可以使用append模式,将新数据追加到指定sheet的末尾,如果不指定sheet编号,则使用第一个sheet。
我们可以使用replacefile方式,删除之前所有的sheet,将新的数据写入指定的sheet,如果不指定sheet,则使用第一个sheet。 我们可以使用Delimiter属性来设置分隔符,设置为逗号到space为空格分隔符,tab为制表符分隔符,; 对于分号,和 | 对于垂直条。
我们可以使用 QuoteStrings 属性来设置用于在文件中写入引用文本的指示符。 此属性的值可以是 minimal、all 和 none。
最小值是默认值,会将包含双引号、分隔符和行尾的变量用双引号括起来。 all 值将用双引号括起所有日期、分类和文本数据。
none 值不会包含任何变量。 我们可以使用 Encoding 属性更改用于编码字符的方案,默认设置为 UTF-8。
我们可以将编码属性设置为 ISO-8859-1、windows-1251 和 windows-1252。 我们可以使用 Sheet 属性来指定我们要用来写入数据的工作表编号或名称,它可以是字符向量或正整数。
我们可以使用 Range 属性来设置要用于写入新数据的电子表格的范围。 范围可以是指定起点的单个工作表,也可以是表单 5 到工作表 10 的范围。
我们可以使用UseExcel 属性来设置Excel 软件在向Excel 文件写入数据时的启动。 默认情况下,该属性设置为false,即Excel软件不会启动,但我们也可以将其设置为true,即会启动Excel软件。
例如,让我们重复上面的例子,改变上面提到的一些属性。 请参阅下面的代码。
clc
clear
X = magic(3)
writematrix(X,'X.xls','Sheet',3)
m = readmatrix('X.xls','Sheet',3)
Output:
X =
8 1 6
3 5 7
4 9 2
m =
8 1 6
3 5 7
4 9 2
上述代码中,X为输入矩阵,m为保存在Excel文件中的矩阵。 我们还可以像在上面的代码中更改属性一样设置其他属性。
在 MATLAB 中使用 writecell() 函数将数据导出到 Excel 文件
writecell()
函数用于将单元格写入文件。 如果我们要导出的数据保存在一个单元格中,我们可以使用 writecell() 函数。
writecell()
与 writematrix()
函数相同。 唯一的区别是 writecell()
函数的输入是一个单元格,而 writematrix() 函数的输入是一个矩阵。
我们可以改变的这些函数的属性也是一样的。
例如,让我们创建一个单元格并将其写入 excel 文件。 请参阅下面的代码。
clc
clear
X = {1,2,3}
writecell(X,'Y.xls')
c = readcell('Y.xls')
输出:
X =
1×3 cell array
{[1]} {[2]} {[3]}
c =
1×3 cell array
{[1]} {[2]} {[3]}
在上面的输出中,X 是输入单元格,c 是我们从保存的文件中导入的单元格。 检查此链接以获取有关 writecell() 函数的更多详细信息。
使用 MATLAB 中的 writetable() 函数将数据导出到 Excel 文件
writetable()
函数用于将表写入文件。 如果我们要导出的数据保存在一个表中,我们可以使用writetable()函数。
writetable()
函数也和 writematrix()
函数一样; 唯一的区别是 writetable()
函数的输入是一个表,而 writematrix()
函数的输入是一个矩阵。 writetable()
函数有一些我们可以更改的附加属性。
我们可以使用 WriteRowNames 属性来设置用于在输出文件中写入行名称的指示器。
默认情况下,WriteRowNames 属性设置为 false,这意味着表的行名不会包含在输出文件中,但如果我们想将行名写入输出文件,我们可以将其设置为 true。 我们可以使用 WriteVariableNames 来设置用于将表的列标题名称写入输出文件的指示器。
默认情况下,WriteVariableNames 属性设置为 false,这意味着表的列标题不会包含在输出文件中,但如果我们想将列标题写入输出文件,我们可以将其设置为 true。 例如,让我们创建一个表格并将其写入 Excel 文件。
请参阅下面的代码。
clc
clear
Z = table([1;5],[10;15])
writetable(Z,'Z.xls')
m = readtable('Z.xls')
输出:
Z =
2×2 table
Var1 Var2
____ ____
1 10
5 15
m =
2×2 table
Var1 Var2
____ ____
1 10
5 15
在上面的输出中,Z 是输入表,m 是我们从保存的文件中导入的表。
相关文章
MATLAB 检查变量类型
发布时间:2023/04/23 浏览次数:92 分类:MATLAB
-
在本教程中,我们将讨论如何使用 MATLAB 中的 class() 和 whos 函数检查给定变量的类型。