matlab对Excel表读取数据

目录

 

 

1.用xlsread函数读取一个Excel文件

2.   读取指定sheet中的数据

2.   读取指定sheet中的数据


 

1.用xlsread函数读取一个Excel文件

(1)num=xlsread(filename)
filename是单引号括起来的带路径的文件名,函数直接读取filename所指文件的sheet1中的数据区域存储到双精度矩阵num中;其中,数据区域的选取规则是:对表格前几个含有非数值的行(列)直接忽略,不算入数据区域;另外如果在数据区域中含有非数值的单元,将其处理为nan。
(2)num = xlsread(filename, -1)
输入后matlab将会打开相应的exel文件,用鼠标选择需要导入的数据区域,可以切换到想要的sheet。
(3)num = xlsread(filename, sheet)
其中sheet用来指定读入excel文件的第几个sheet,此时的sheet取值大于1的整数。
(4)num = xlsread(filename,sheet, 'range')
其中range指定一个矩形的区域,用单引号括起来;例如:'D2:H4'代表以D2和H4为对角定点的矩形域;
注意当excel中有合并单元格时,任何一个合并前的单元格的名字(比如D1)都会指代整个合并后的单元格,而将整个单元格读入,所以为了避免麻烦,尽量避免在需要读入的表格中合并单元格。

例如:将读取D盘下的一个文件路径为:D:/test/daxia.xls
num = xlsread('d:/test/daxia.xls',2,'D2:H4')读取sheet2的D2:H4区域数据
如果要进行交互式的选择用:num= xlsread('d:/test/daxia.xls',-1)


2.批量的文件要读取
首先将多个文件进行批量重命名例如daxia1.xls,daxia2.xls,daxia3.xls,...
然后用循环的方式实现:
for i=1:100
filename=['d:/test/daxia',num2str(i),'.xls'];
num=xlsread(filename)
end

下面我就通过实例介绍一下MATLAB如何导入excel数据。

1.   读取sheet1中的所有数据

我们以03版excel为例,假设excel中数据为


默认这些文本以及数字都放在sheet1中,我们将此excel选入当前工作目录(必要步骤),然后再MATLAB主窗口中输入下面命令:[NUM,TXT,RAW]=xlsread('example'),其中example是你的excel名,这里我所有的数据都在example.xls中。输入以上命令,回车

NUM返回的是excel中的数据,TXT输出的是文本内容,RAW输出的是未处理数据,这里因为文本占用的矩阵一共是8行6列,所以就输出了如上内容。一般情况下,我们读取的都是excel中的数据,所以可以直接用[NUM]=xlsread('example'),只输出数据矩阵便可。


2.   读取指定sheet中的数据

>> num=xlsread('G:\2019数学建模\CUMCM2017Problems\A\A题附件.xls',2);

 

2.   读取指定sheet中的数据

假设我们读取A3-D7之间的数据,那么我们输入命令[NUM]=xlsread('example',2,'A3:D7'),回车即可

 

 

 

### 回答1: Matlab可以使用xlsread函数读取Excel格中的数据。该函数的语法如下: [num,txt,raw] = xlsread(filename,sheet,range) 其中,filename是Excel文件的名称(包括路径),sheet是要读取的工作名称或编号,range是要读取的单元格范围。函数返回的num是数值数据,txt是文本数据,raw是原始数据。如果不需要其中的某些数据,可以用~代替。例如,只需要读取数值数据,可以这样写: [num,~,~] = xlsread(filename,sheet,range) ### 回答2: MATLAB是一款编程语言和数学软件,支持多种文件格式的读取和处理,其中就包括Excel格文件。下面将介绍MATLAB如何读取Excel格中的数据。 1. 打开Excel文档 首先需要用MATLAB打开Excel文档,可以使用以下命令: ```matlab filename = 'example.xlsx'; # example.xlsx 是 Excel 文件的文件名 sheet = 'Sheet1'; # Sheet1 是要读取的工作的名称 data = readtable(filename, 'Sheet', sheet); ``` 这里使用了readtable()函数,它可以读取Excel格文件中的数据,并返回一个数据格 (table) 类型的变量。这个数据格包括了Excel中指定工作的全部数据。 2. 选择特定的数据 Excel格中可能包含大量的数据,需要选择特定的数据。比如想要读取Excel格中的第1列和第2列数据,可以使用以下命令: ```matlab X = data(:, 1:2); % 示选择格中所有行,第1列到第2列的数据 ``` 这里使用了data()函数,data变量是之前读取Excel格后得到的数据格。通过data()函数选择格中的一部分元素,这里使用冒号(:)符号格中所有行都需要选择。 3. 将选择的数据存储到变量中 读取Excel格中的数据后,需要将选择的数据存储到变量中以供后续处理。可以使用以下命令: ```matlab x = table2array(X); % 把数据格转化为数组 ``` 这里使用了内置函数table2array(),它可以将数据格类型的变量转换为数组类型的变量。 4. 处理数据 读取Excel格中的数据后,可以使用MATLAB提供的操作符进行数据处理。比如想要对Excel格中的数据进行求和操作,可以使用以下命令: ```matlab sum_x = sum(x); % 对数组元素求和 ``` 这里使用了内置函数sum(),它可以对数组的元素进行求和操作。求和结果存储在sum_x变量中。 ### 回答3: MATLAB是一种非常流行的计算机科学软件,它支持读取Excel中的数据。这样,用户可以更方便地利用Excel格的数据进行计算、图像处理和建模等任务。 MATLAB读取Excel数据时,一般需要使用Excel VBA的接口。用户需要在Excel格中添加VBA代码,以实现数据读取。如果用户要读取Excel中的某个数据范围,可以使用以下代码示例: 1. 首先,打开Excel格,按下“Alt + F11”键,打开Visual Basic编辑器。 2. 在编辑器中选择“Insert”菜单,添加一个新的“Module”。 3. 在新的模块中,添加以下代码: Sub readdata() Dim filename, sheetname As String Dim ExcelApp As Object Dim ExcelWorkbook As Object Dim ExcelSheet As Object Dim myrange As Range filename = "C:\Users\username\Desktop\data.xlsx" 'Excel格文件路径 sheetname = "Sheet1" '要读取的工作名称 Set ExcelApp = CreateObject("Excel.Application") '创建Excel对象 Set ExcelWorkbook = ExcelApp.Workbooks.Open(filename) '打开Excel格 Set ExcelSheet = ExcelWorkbook.Worksheets(sheetname) '选择要读取的工作 '读取特定数据范围 Set myrange = ExcelSheet.Range("A1:B10") For Each cel In myrange '将数据传入MATLAB变量 a = cel.Value Next cel ExcelWorkbook.Close '关闭Excel格 Set ExcelWorkbook = Nothing End Sub 在代码中,我们指定了要读取Excel的路径和数据范围。我们使用循环迭代每个单元格,将其值传递给MATLAB变量“a”,最后关闭Excel格。这样,我们就可以在MATLAB中使用Excel格的数据,进行后续的计算、图形处理或建模了。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值