当前位置: 首页 > news >正文

MATLAB中xlsread函数用法

目录

语法

说明

示例

将工作表读取到数值矩阵

读取元胞的范围

读取列

请求数值、文本和原始数据

对工作表执行函数

请求自定义输出

局限性


xlsread函数的功能是读取Microsoft Excel 电子表格文件

语法

num = xlsread(filename)
num = xlsread(filename,sheet)
num = xlsread(filename,xlRange)
num = xlsread(filename,sheet,xlRange)
num = xlsread(filename,sheet,xlRange,'basic')
[num,txt,raw] = xlsread(___)
___ = xlsread(filename,-1)
[num,txt,raw,custom] = xlsread(filename,sheet,xlRange,'',processFcn)

说明

        num = xlsread(filename) 读取名为 filename 的 Microsoft® Excel® 电子表格工作表中的第一个工作表,并在一个矩阵中返回数值数据。

        num = xlsread(filename,sheet) 读取指定的工作表。
        num = xlsread(filename,xlRange) 从工作簿的第一个工作表的指定范围内读取数据。使用 Excel 范围语法,例如 'A1:C3'。
        num = xlsread(filename,sheet,xlRange) 读取指定的工作表和范围。

        num = xlsread(filename,sheet,xlRange,'basic') 在 basic 导入模式下读取电子表格中的数据。如果计算机未安装 Windows® 版 Excel 或者您正在使用 MATLAB® Online™,xlsread 会自动在 basic 导入模式下运行,该模式支持 XLS、XLSX、XLSM、XLTX 和 XLTM 文件。

        如果不指定所有参数,请使用空字符向量 '' 作为占位符,例如,num = xlsread(filename,'','','basic')。
        [num,txt,raw] = xlsread(___) 还使用先前语法中的任何输入参数,在元胞数组 txt 中返回文本字段,在元胞数组 raw 中返回数值数据和文本数据。

        ___ = xlsread(filename,-1) 打开一个 Excel 窗口以便按交互方式来选择数据。选择工作表,将鼠标拖放到所需范围上,然后点击确定。只有安装了 Microsoft Excel 软件的 Windows 计算机才支持此语法。
        [num,txt,raw,custom] = xlsread(filename,sheet,xlRange,'',processFcn)(其中 processFcn 是函数句柄)读取电子表格,对数据调用 processFcn,并在数组 num 中以数值数据的形式返回最终结果。xlsread 函数在元胞数组 txt 中返回文本字段、在元胞数组 raw 中返回数值和文本数据,并在数组 custom 中返回 processFcn 的第二个输出。xlsread 函数不会更改电子表格中存储的数据。只有安装了 Excel 软件的 Windows 计算机才支持此语法。

示例

将工作表读取到数值矩阵

创建一个名为 myExample.xlsx 的 Excel 文件。

values = {1, 2, 3 ; 4, 5, 'x' ; 7, 8, 9};
headers = {'First','Second','Third'};
xlswrite('myExample.xlsx',[headers; values]);myExample.xlsx 的 Sheet1 包含:First    Second    Third1         2        34         5    x    7         8        9

读取第一个工作表中的数值数据。

filename = 'myExample.xlsx';
A = xlsread(filename)
A =1     2     34     5   NaN7     8     9

读取元胞的范围

从上一示例的 Excel 文件中读取特定范围的数据。

filename = 'myExample.xlsx';
sheet = 1;
xlRange = 'B2:C3';subsetA = xlsread(filename,sheet,xlRange)subsetA =2     35   NaN

读取列

从第一个示例的 Excel 文件中读取第二列。

filename = 'myExample.xlsx';columnB = xlsread(filename,'B:B')columnB =258

要获得更佳的性能,可在范围中包括行号,例如 'B1:B3'

请求数值、文本和原始数据

从第一个示例中的 Excel 文件中请求数值数据、文本数据和合并数据。

[num,txt,raw] = xlsread('myExample.xlsx')num =1     2     34     5   NaN7     8     9txt = 'First'    'Second'    'Third'''         ''          ''     ''         ''          'x'    raw = 'First'    'Second'    'Third'[    1]    [     2]    [    3][    4]    [     5]    'x'    [    7]    [     8]    [    9]

对工作表执行函数

        在编辑器中,创建一个函数以处理工作表中的数据。在这种情况下,将范围 [0.2,0.8] 之外的值设置为 0.2 或 0.8

function [Data] = setMinMax(Data)minval = 0.2; 
maxval = 0.8;for k = 1:Data.Countv = Data.Value{k};if v > maxvalData.Value{k} = maxval;elseif v < minvalData.Value{k} = minval;end
end

        在命令行窗口中,将随机数据添加到 myExample.xlsx

A = rand(5);
xlswrite('myExample.xlsx',A,'MyData')

        名为 MyData 的工作表包含范围在 0 至 1 之间的值。

        读取工作表中的数据,并重置范围 [0.2,0.8] 之外的任何值。指定工作表名称,但使用 '' 作为 xlRange 和 'basic' 输入的占位符。

trim = xlsread('myExample.xlsx','MyData','','',@setMinMax);

请求自定义输出

        对工作表执行函数并显示自定义索引输出。

        在编辑器中,修改上一示例中的函数 setMinMax 以返回更改后的元素(自定义输出)的索引。

function [Data,indices] = setMinMax(Data)minval = 0.2; 
maxval = 0.8;
indices = [];for k = 1:Data.Countv = Data.Value{k};if v > maxvalData.Value{k} = maxval;indices = [indices k];elseif v < minvalData.Value{k} = minval;indices = [indices k];end  
end

        读取工作表 MyData 中的数据,并请求自定义索引输出idx。

[trim,txt,raw,idx] = xlsread('myExample.xlsx',...'MyData','','',@setMinMax);

局限性

  • xlsread 仅读取 7 位 ASCII 字符。

  • xlsread 不支持非相邻范围。

  • 如果计算机未安装 Windows 版 Excel 或者您正在使用 MATLAB Online,xlsread 会自动在 basic 导入模式下运行。

  • ​在 Linux® 和 Mac 平台上,xlsread 不能打开使用 writetable 函数编写的电子表格文件。

http://www.lryc.cn/news/134264.html

相关文章:

  • Prisma.js:JavaScript中的基于代码的ORM
  • 解决问题:在cocos create中如何从b文件调用到a文件里用CC.resource.load动态加载的图集
  • 分布式 - 消息队列Kafka:Kafka 消费者消费位移的提交方式
  • 如何利用 ChatGPT 进行自动数据清理和预处理
  • PHP“牵手”淘宝商品评论数据采集方法,淘宝API接口申请指南
  • 你更喜欢哪一个:VueJS 还是 ReactJS?
  • PyTorch学习笔记(十六)——利用GPU训练
  • 【实战】十一、看板页面及任务组页面开发(三) —— React17+React Hook+TS4 最佳实践,仿 Jira 企业级项目(二十五)
  • 金额千位符自定义指令
  • 请不要用 JSON 作为配置文件,使用JSON做配置文件的缺点
  • Hadabot:从网络浏览器操作 ROS2 远程控制器
  • Kotlin 协程
  • maven 从官网下载指定版本
  • 数据结构---串(赋值,求子串,比较,定位)
  • WPF CommunityToolkit.Mvvm
  • Vue开发中如何解决国际化语言切换问题
  • 基于springboot+vue的流动人口登记系统(前后端分离)
  • Stable Diffusion的使用以及各种资源
  • Redis 分布式锁的实现方式
  • VMware上搭建的虚拟机突然本地无法连接服务器
  • JDBC回顾
  • mq 消息队列 mqtt emqx ActiveMQ RabbitMQ RocketMQ
  • 沃尔玛卖家必看!解决订单被Kan、Feng号问题的终极方案!
  • 浅谈日常使用的 Docker 底层原理-三大底座
  • 前端面试:【DOM】编织网页的魔法
  • 基于MATLAB开发AUTOSAR软件应用层Code mapping专题-part 2 Inport和Outports 标签页介绍
  • 第9步---MySQL的索引和存储引擎
  • Numpy入门(3)—线性代数
  • php的openssl_encrypt是不是自动做了PKCS5Padding?
  • 在本地创建repository及上传至github