Matlab 导入Excel表数据的方法

Matlab 导入Excel表数据的方法

Matlab 导入 Excel 表数据的方法

1. 使用 UI 界面中的 导入数据 功能。

2. 在工作区直接导入复制的 Excel 内容

在工作区新建一个变量。用鼠标双击这个变量,查看这个变量的内容:从 Excel 表中直接 Ctrl + C 复制数据直接在 变量的第一个单元格中鼠标右击,选择 ‘粘贴 Excel 数据’ 即可

3. 使用 A = xlsread(‘fileURL’, n)

n 取大于 0 的数字,表示读取 sheet n 的所有表格,不写 n 的时候会取 sheet 1 的所有数据。

函数直接读取 fileURL 所指文件的 sheet n 中的数据区域存储到双精度矩阵 A 中;其中,数据区域的选取规则是:对表格前几个含有非数值的行(列)直接忽略,不算入数据区域;另外如果在数据区域中含有非数值的单元,将其处理为 NaN。

clc;

tic;

clear all;

url = 'E:\Users\Sun and Snow\Desktop\葡萄酒2012A\附件1-葡萄酒品尝评分表.xls';

redAlcohol_1 = xlsread(url);

toc;

Excel 表的 sheet1 如下:

导入后的矩阵如下:

当我们把原始的 Excel 表格排版好之后,用这个先读取,再删除 非数字行 。不就很方便了?

删除矩阵第 k 列 :A(:, k) = []; 删除矩阵第 k 行:A(k, :) = [];

判断第 i 行元素是否全部为 NaN :isnan(A(i, :))

实例

这个文件 sheet2 表一共有 28 个子表。我打算把所有的数据全部抽出来,其余的无关单元格全部删除。比如 A、B、C 三列我就会全部删掉。最终结果是一个 280*10 矩阵。因为 每个 样品有 10 个指标,共28 个样品,所以 280 行。每个指标有 10 个人评价,所以 10 列。

源代码如下:

clc;

tic;

url = 'E:\Users\Sun and Snow\Desktop\葡萄酒2012A\附件1-葡萄酒品尝评分表.xls';

whiteAlcohol = xlsread(url, 2); % 导入 url Excel 文件的 sheet 2 所有信息。

whiteAlcohol_copy = whiteAlcohol; % copy 矩阵为导出后的矩阵的备份,用于与处理后的矩阵作比较

whiteAlcohol(:, 1:3) = []; % 删除不需要的列

whiteAlcohol(1, :) = []; % 删除不需要的行

[m, n] = size(whiteAlcohol);

%% 删除矩阵中每一个元素全部为 NaN 的 行向量

i = 1;

while i <= m

if isnan(whiteAlcohol(i, :)) % 判断第 i 行元素是否全部为 NaN

whiteAlcohol(i, :) = []; % 删除全部为 NaN 的第 i 行

m = m - 1; % 因为删除了矩阵的一行,矩阵的行总数 m 要 -1

continue; % i 指针因为删除了一行,新的一行元素还没有检查是否全部为 NaN,所以不能递增

end

i = i + 1; % i 指针指向下一行

end

toc;

处理前的矩阵:

处理后的矩阵:

4. 使用 A = xlsread(‘fileURL’, -1)

使用这个格式的 xlsread 后,会立即打开 对应的 Excel 表格,然后可以自己手动选择想要导入的表格范围,一切完成后,Excel 的表格会以矩阵的格式直接存储在 A 中。

clc;

tic;

url = 'E:\Users\Sun and Snow\Desktop\葡萄酒2012A\附件1-葡萄酒品尝评分表.xls';

redAlcohol_1 = xlsread(url, -1)

toc;

运行后,直接弹出 Excel 表格:

确定好要导入的表格范围后再点击 “确定”。

这种方法可以选择子表,但是终究是太繁琐了。

5. 使用 A = xlsread(‘url’, sheetNum, ‘range’)

url` 表示 Excel 文件位置

sheetNum 表示要读取 Excel 文件第 sheetNum 子表。

range 表示读取的单元格范围。

将选定范围的矩阵导入 A 变量。

6. [NUM, TXT, RAW] = xlsread(url, sheetNum)

对于如下的 表格:

NUM 存储 从 Excel 表中第一个纯数字开始的矩阵,非纯数字全部转化为 NaN。

TXT 存储 Excel 表中的所有字符串(非纯数字),并且尽量还原 Excel 表中的字符串位置,纯数字的单元格导入 matlab 后为 空。

RAW 存储 Excel 中所有的纯数字和字符串,但是 Excel 表格中为 未填写的单元格在 RAW 中为 NaN。

CSDN 参考

相关推荐

网络时代的小众语言
365bet英超

网络时代的小众语言

📅 08-23 👁️ 7499
1、109全红须弥能秒多少
365体育亚洲官方入口app下载

1、109全红须弥能秒多少

📅 08-17 👁️ 2128
《黑神话悟空》全10种变身【强度排名】分析