读取Excel/Txt文件数据(Matlab实现)

目录

1 xlsread函数

2 load命令可以加载mat文件 

3 textread函数 

4 MATLAB与excel 的交互 

4.1 向excel表格中写入数据 

4.2 从excel中读入数据 

4.3 清除表格中已经写入的数据 

4.4 举例说明


1 xlsread函数

读取EXCEL文件,xls、xlsx、csv格式文件都可以读取

格式:[X1,X2,X3]=xlsread('shuju.xlsx')

X1返回数值并用矩阵储存,X2返回文本并用元胞数组储存,X3返回所有并用元胞数组储存

元胞数组可以储存多种格式的数据,例如X3{1,1}输出的是字符串,而X3{2,1}输出的是数值

(1)原数据:

                              读取Excel/Txt文件数据(Matlab实现)_第1张图片 

(2)读取结果:

读取Excel/Txt文件数据(Matlab实现)_第2张图片

2 load命令可以加载mat文件 

matlab右边工作区可以看到过程数据,可以通过save命令保存某些矩阵,或全部矩阵数据,储存后的文件带有.mat后缀 

save + 空格 + 文件名称     储存当前工作区中的所有矩阵数据:

save shuju



save + 空格 + 文件名称 +矩阵名称       储存当前工作区中X2和X3矩阵:

save shuju X2 X3

通过load命令可以加载mat文件:

load shuju.mat

3 textread函数 

读取txt中的数值数据,但如果存在字符则会报错

格式:X1=textread('shuju.txt') 或 load shuju.txt

读取Excel/Txt文件数据(Matlab实现)_第3张图片 

字符+数值的txt文本可以通过fopen、fread、native2unicode函数读取,但读取过程较为复杂,建议将此类数据存放于excel表格进行读取,如果仅是数据,则通过load命令更为快捷。 

4 MATLAB与excel 的交互 

在使用MATLAB时,可能会遇到很多表格数据的处理,有时MATLAB也需要利用现存的表格数据实现操作目的。这时,就需要建立excel表格与MATLAB的交互作用。本文总结了MATLAB向excel写入数据及从excel读出数据的基本操作方法,掌握这些后再遇到此类情况便可像如鱼得水般运用自如。

4.1 向excel表格中写入数据 

(1)简单地将数据输入到指定excel中

xlswrite('data.xlsx',A);

或者

xlswtrite('data.xls',A);

PS:表格名称后缀.xlsx与.xls并无差别,只是excel版本的不同。其中,后缀.xlsx是07版本之后的后缀,而后缀.xls则为03版本前的后缀,07版本可兼容03版本。

PS:在执行此命令时,不必自己新建立一个excel表格,MATLAB会自动建立一个当前目录下的excel表格,例如上述的data.xls。

PS:在excel表格中输入的数据格式与矩阵A 的格式相同,即行与列一一对应。

(2)数据写入指定的sheet中

xlswrite('data.xlsx',A,2) 

%将矩阵A 的数据写入名为data的excel表格第二个sheet中(注意,这里是第二个sheet而不是sheet2)。

(3)数据写入指定的sheet中的指定位置

xlwrite('data.xlsx',A,3,'B3:F4') 

%矩阵A的数据写入第三个sheet中,并且初始位置为B3,终止位置为F5。

4.2 从excel中读入数据 

利用xlsread函数,用法与xlswrite用法类似:

例:

A=xlsread('data1.xls') %将表格data1中的数据读入到矩阵A中。

A=xlsread('data1.xls',2,'A3:C9') % 将表格data1中的第二个sheet的A3至C9内的数据读入到矩阵A中。

PS:若从表格中读入的数据中含有字母或者文字,则读出相应位置的数据会变成NaN。

PS:当excel表格中含有表格标题时,可以直接输入标题。

例: 

data1=xlsread('grades.xls','GPA') %其中GPA为相应表格的标题

[data1,headertext]=xlsread('grades.xls','GPA') %其中headertext返回表格GPA中的表格头。

4.3 清除表格中已经写入的数据 

利用程序:

x=' ';

xlswrite('data1.xlsx',x,'A1:Z100'); %将表格data1中位于A1至Z100间的数据用空格代替 

4.4 举例说明

例:将矩阵A的数据输入到csv表格中:

clc
clear
A=[1 2 3 1 4 1 9 0 2;4 2 5 2 5 2 6 2 6];
xlswrite('data.csv',A)

此时,在当前目录下,MATLAB会自动创建一个data.csv文件,而输入的矩阵A便保存在此csv文件中。双击此文件可以看到如下格式:

读取Excel/Txt文件数据(Matlab实现)_第4张图片 如果希望将此csv表格的数据读入到MATLAB中,可以继续输入命令:

clc
clear
A=[1 2 3 1 4 1 9 0 2;4 2 5 2 5 2 6 2 6];
B=xlsread('data.csv')

读取Excel/Txt文件数据(Matlab实现)_第5张图片 

以上就是MATLAB与excel之间的交互,有了这些命令,可以很方便地将MATLAB运行的矩阵结果输入到excel中并加以利用,同时,也可以将excel表格中记录的数据导入到MATLAB中进行分析处理。 

你可能感兴趣的:(#,Matlab旅程,matlab,开发语言)