将表格数据导入matlab的方法

由matlab内部功能导入:

  • 首先:
    点击主页,找到导入数据选项
    在这里插入图片描述

在这里插入图片描述

  • 然后:
  • 选择要导入的数据表格,如果找不到可以选择一下文件格式分类,但是可能有些数据表格不支持,但是正常的Exel表格这些应该都没问题
    在这里插入图片描述
  • 接着:
  • 选择后,会出现一个窗口,可以用来选择你所需要导入的表格数据
    在这里插入图片描述
  • 最后:
  • 导入后,系统会默认一个变量来接收,点击即可查看里面存放的数据
    在这里插入图片描述

由Matlab内部函数导入:

  • 首先:
    代码的内容如下:
opts = detectImportOptions('D:\Matlab_project\test\附件1:123家有信贷记录企业的相关数据.xlsx');
opts.Sheet = '进项发票信息';
opts.VariableNamingRule = 'preserve';
date_txt1 = readtable('D:\Matlab_project\test\附件1:123家有信贷记录企业的相关数据.xlsx', opts);  
  • 上述代码中,我们首先使用detectImportOptions函数来检测导入选项,然后设置工作表的名称和变量命名规则,并将这些选项传递给readtable函数。
  • 运行后:

在这里插入图片描述

  • 这时候用于接受表格数据的变量是由你自己定义的,好处是以上代码将导入前的工作都做好了,问题出现时也方便查找问题出处便于修改

detectImportOptions函数

  • detectImportOptions函数 是MATLAB中用于自动检测数据导入选项的功能。它的主要作用是帮助你确定如何正确导入外部数据文件,如CSV、Excel、文本文件等。以下 detectImportOptions函数的用法和作用:

用法示例:

opts = detectImportOptions('filename.ext');%括号里是文件的地址

作用:

  1. 自动检测指定文件中的数据格式和结构,例如列分隔符、列名、数据类型等。

  2. 返回一个包含导入选项的结构体(通常命名为opts),其中包括了有关数据文件的信息。

  3. 这些选项可以进一步用于readtablereadmatrix等函数,以确保正确导入文件的数据。

  4. 通过自动检测数据文件的特性,你可以避免手动指定导入选项,减少出错的可能性。

例如,我们使用了detectImportOptions函数来获取Excel文件的导入选项,然后将这些选项传递给readtable函数,以确保正确读取Excel文件中的数据。

  • 总之: detectImportOptions函数是一个非常有用的工具,可以简化从外部数据文件中导入数据时的配置过程,提高数据导入的准确性。

  • 可以在以下情况下考虑使用detectImportOptions函数:

1. 外部数据文件的结构不确定:当你需要从外部数据文件(如CSV、Excel、文本文件)导入数据时,但不确定文件的结构,例如列名、数据类型或分隔符时,可以使用detectImportOptions来自动识别这些信息。

2. 数据文件结构经常变化:如果你处理的数据文件的结构经常发生变化,或者你需要处理多个不同结构的文件,可以编写一个通用的数据导入脚本,使用detectImportOptions自动适应不同的文件结构。

3. 避免手动配置导入选项:手动配置导入选项可能会出现错误,特别是当你处理大量文件时。使用detectImportOptions可以减少配置错误的可能性,提高代码的可维护性。

4. 快速探索数据:如果你想快速查看数据文件的内容和结构,而不必提前了解文件的详细信息, detectImportOptions可以帮助你快速获取必要的信息。

  • 总之:detectImportOptions是一个在处理外部数据文件时非常有用的工具,特别是当你需要自动识别文件的结构和特性时,它可以简化数据导入的流程,并提高代码的灵活性和鲁棒性 (鲁棒性是指某一个自动系统在系统发生故障时仍然能较好的完成预定工作的能力)

opts.VariableNamingRule = 'preserve'

opts.VariableNamingRule = 'preserve' 这句话的作用是告诉 MATLAB 在导入数据时要保持变量名的原始命名,即不要修改列名的格式或字符,保留列名中的任何空格、特殊字符或大小写。这在数据导入和处理过程中非常重要,因为有些数据文件的列名可能包含空格、特殊字符或区分大小写,如果不设置这个选项,MATLAB 可能会自动修改这些列名以适应其默认的变量命名规则。

更改要导入的表格:

  • 要更改导入的 Excel 表格(Sheet),你可以通过修改 opts.Sheet 的值来指定要导入的特定 Sheet 名称或索引。下面是示例代码:
opts = detectImportOptions('D:\Matlab_project\test\附件1:123家有信贷记录企业的相关数据.xlsx');
opts.Sheet = 'YourSheetName'; % 替换 'YourSheetName' 为你要导入的 Sheet 名称
date_txt1 = readtable('D:\Matlab_project\test\附件1:123家有信贷记录企业的相关数据.xlsx', opts);
  • 在上面的示例中,将 opts.Sheet 的值设置为你要导入的 Excel 表格的名称(字符串),然后再使用 readtable 函数导入数据时,它将导入指定的 Sheet。
    如果你知道 Sheet 的索引而不是名称,也可以将 opts.Sheet 设置为索引值,例如 opts.Sheet = 2;,这将导入第二个 Sheet。
    所以,根据你需要导入的具体 Sheet,你可以相应地更改 opts.Sheet 的值。

    例如:我将要导入的表格改为销项发票信息
    则代码更改为:
opts = detectImportOptions('D:\Matlab_project\test\附件1:123家有信贷记录企业的相关数据.xlsx');
opts.Sheet = '销项发票信息';
opts.VariableNamingRule = 'preserve';
date_txt1 = readtable('D:\Matlab_project\test\附件1:123家有信贷记录企业的相关数据.xlsx', opts);   

我只是将opts.sheet由进项发票信息更改为销项发票信息 , 运行后: date_txt1的内容就变为销项发票信息表格的数据

在这里插入图片描述
在这里插入图片描述

导入后数值变为NaN(Not a Number):

  1. 数据文件中包含缺失值: 最常见的情况是,Excel 或其他数据文件中的某些单元格本来就包含了缺失值或空白数据。这会导致这些位置的数据在导入时被解释为 NaN。

  2. 数据类型不匹配: 如果 Excel 表格中的列包含不同的数据类型(例如文本和数值),则在导入时会将其中一个数据类型解释为 NaN。

  3. 导入选项设置不当: 如果导入选项(如数据范围、Sheet 名称等)设置不正确,可能会导致数据无法正确解析,从而变成 NaN。

为了解决这个问题,你可以采取以下措施:

  • 检查数据文件: 打开 Excel 文件,确保数据文件中的数据是正确的,没有缺失值或意外的数据格式问题。

  • 检查数据类型: 确保 Excel 表格中的列都包含一致的数据类型。你可以在 MATLAB 中查看列的数据类型,以确保它们与你的预期相符。

  • 调整导入选项: 使用 detectImportOptions 函数检测导入选项,确保它们正确匹配了 Excel 文件的结构。你可以手动设置选项以确保正确导入。

  • 数据清理: 如果有缺失值或不匹配的数据类型,你可以在 MATLAB 中进行数据清理,根据需要填充缺失值或转换数据类型。

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

手打猪大屁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值