【问题标题】:importing merged cells of xls file to MATLAB将 xls 文件的合并单元格导入 MATLAB
【发布时间】:2018-03-24 19:28:37
【问题描述】:

我有一些 xls 文件,它们都在特定列中合并了单元格。所以当我使用 xlsread 时,该列的数据被读取为 NaN。 例如当我的数据是:

1   2   2   5
3   1   2   1
2   4   2   3

如果最后一列是第 4 列和第 5 列的合并结果,当我使用 xlsread 时,输出将是:

1   2   2   NaN
3   1   2   NaN
2   4   2   NaN

对于我的真实数据,在导入之前取消合并 excel 中的列非常耗时。如何以合并格式将它们导入 MATLAB?

【问题讨论】:

  • 这个问题可能更适合超级用户或mathematica.stackexchange.com/search?q=matlab
  • 我认为该小组正在处理仅与数学有关的问题 @ashleedawg
  • 合并的单元格被读取为字符串而不是数字数据。您将在xlsread 的第二个输出中找到它们。您可能还对第三个输出感兴趣,它包含数字和字符串数据。
  • @parisa - 您是否点击了链接并看到了 900 个 matlab 帖子,其中包括一些与您的几乎相同的帖子?或者,根据this 和其他元讨论,此类问题的更好地方是SuperUser(仅在该链接上有700 个问题)。更重要的是,你读过这个@@help center吗?“如何将数字导入Matlab?”是哪个类别?:具体的编程问题,软件算法,还是常用的程序员工具? 这是软件开发独特的问题吗?
  • @ashleedawg,如果这个问题在这里不适合,那么大多数带有MATLAB 标签的问题也不适合。恕我直言,它适合这里,尽管可以通过显示一些代码来改进。尽管如此,任何将电子表格数据加载到 MATLAB 中的人都非常清楚这个问题。

标签: excel matlab import merge


【解决方案1】:

我已经测试在合并单元格中以 .xlsx 或 .xls 格式保存一些带有数字的 Excel 2013 工作表,然后使用 xlsread 将它们读入 MATLAB R2016b 并且数字被正确读取。因此,要么您的版本表现不同,要么如 Phil Goddard 的评论中所述,合并单元格中的值在 Excel 中被格式化为文本。

正如菲尔所说,如果你使用语法

[num, txt, both] = xlsread('myfile.xls')

结果将是一个数值矩阵num包含数字单元格值,一个单元格数组txt包含文本单元格值, 和一个单元格数组both,其中包含所有单元格的值作为适当的数字或字符向量。如果您有包含混合数字和文本的列或行,则文本单元格将在 num 中返回 NaN 值。

【讨论】:

  • 我尝试了另一个包含合并单元格的 xls 文件,正如您所提到的,它正确读取了数字,另一列读取为 NaN。谢谢,虽然我找不到第一个文件的问题。
  • 糟糕,我的示例使用all 作为变量名,但这是内置函数的名称。不要这样做!现已更正。
猜你喜欢
  • 1970-01-01
  • 2013-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多