迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > MATLAB >

将数据从 MATLAB 导出到 Excel

作者:迹忆客 最近更新:2023/04/23 浏览次数:

本教程将讨论使用 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 是我们从保存的文件中导入的表。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 MATLAB 中注释多行

发布时间:2023/04/23 浏览次数:111 分类:MATLAB

可以使用注释块方法或 MATLAB 编辑器在 MATLAB 中注释多行。

MATLAB 最大索引

发布时间:2023/04/23 浏览次数:192 分类:MATLAB

在本教程中,我们将讨论如何使用 MATLAB 中的 max() 函数从数组及其索引中查找最大值。

MATLAB 索引超出矩阵尺寸

发布时间:2023/04/23 浏览次数:103 分类:MATLAB

要解决索引超出矩阵索引的问题,请检查你要获取或替换数据的索引。

MATLAB 检查变量类型

发布时间:2023/04/23 浏览次数:92 分类:MATLAB

在本教程中,我们将讨论如何使用 MATLAB 中的 class() 和 whos 函数检查给定变量的类型。

MATLAB vs Octave

发布时间:2023/04/23 浏览次数:74 分类:MATLAB

我们可以说 Octave 是 MATLAB 的免费版本。

MATLAB MAT 文件

发布时间:2023/04/23 浏览次数:89 分类:MATLAB

可以使用 MAT 文件在 MATLAB 中存储和加载格式化的数据。

MATLAB asv 文件

发布时间:2023/04/23 浏览次数:180 分类:MATLAB

.asv 文件是 MATLAB 生成的自动保存文件,因此在计算机崩溃时你不会丢失数据。

MATLAB 三元运算符

发布时间:2023/04/23 浏览次数:130 分类:MATLAB

MATLAB 中没有三元运算符,因此你必须使用标准格式。

MATLAB & vs &&

发布时间:2023/04/23 浏览次数:134 分类:MATLAB

在 MATLAB 中,&是逻辑与运算符,&&也是表现出短路行为的逻辑运算符。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便