【问题标题】:Import data from excel to matlab row by row将数据从excel逐行导入matlab
【发布时间】:2014-12-03 22:03:28
【问题描述】:


我想知道有没有什么功能可以逐行从excel中导入数据?
我曾经使用 xlsread,但它不适用于这种情况,除非我在一个函数中使用它,该函数采用所有列并将同一行中的所有元素组合在一起...


编辑:我可以通过以下代码使用简单的 xlsread 来做到这一点:

num = xlsread(excel_file,'B2:BI174');
row1=num(1:173:end);

【问题讨论】:

  • “逐行”是什么意思 - 你想导入一个单元格数组,其中一个单元格的每个元素都包含一行?或者您是否想一次读取一行,因为您没有一次导入所有所需的 RAM? excel数据是只包含数字,还是混合数字和字符串?你在 Windows 上吗?
  • 感谢您的回复。是的,我的意思是单元格的每个元素都包含一行,而 excel 文件只包含数字,是的,我在 windows 上

标签: excel matlab import


【解决方案1】:

一次读取一行数据很诱人,但这意味着您会因为文件访问开销而浪费时间。一次读取所有内容并重新打包到单元数组中要快得多:

allData = xlsread('filename.xls');

oneRowPerElementCell = mat2cell(allData, ones(size(allData,1),1), size(allData,2));

【讨论】:

    【解决方案2】:

    阅读 xlsread 文档 here 以从 excel 文件中读取块。

    示例:要读取从第 1 行到第 26 行使用的第一行,

    row1 = xlsread('filename.xlsx',sheet_no,'A1:Z1');
    

    【讨论】:

      猜你喜欢
      • 2019-01-09
      • 1970-01-01
      • 2014-01-24
      • 2011-05-01
      • 2019-03-19
      • 2010-12-07
      • 2018-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多