【发布时间】:2016-04-15 00:37:10
【问题描述】:
我正在尝试使用 xlsread 函数读取 6000x2700(xlsx 文件)的电子表格。
我有两个问题:
首先,当我使用类似的东西时
[num,txt,~]=xlsread(input_file,input_sheet,'A1:CYY6596')
Matlab 一直显示“忙碌”并失去响应(而我可以在 30 秒内在 excel 中打开它)。
如果我不想遍历 xlsx 文件的范围,有什么解决方案吗?换句话说,我可以使用 xlsread 将这种大小的电子表格转储到 matlab 中吗?
或者,也许我可以使用循环逐个范围地读取这些文件,但除非我先读取整个文件,否则我无法识别每个电子表格的最后一列。因此,如果我无法识别最后一列,则很难进行循环并对文件进行解释。
所以我的第二个问题是:有没有办法在不阅读整个电子表格的情况下识别电子表格的最后一列?
谢谢。
编辑:但是,如果我运行仅读取电子表格的前 400 列 ('A1:RY6596') 的类似代码,则不会发生此类问题。
【问题讨论】:
-
这是一个技术含量低的解决方案,但如果 xlsread 不能很好地处理此文件,您可能需要使用 Excel 将 .xlsx 文件保存为 .csv 文件,然后使用 Matlab 将其导入.
-
感谢您的回答。我尝试使用 csv 文件,但 Matlab 仍然失去响应(一段时间后,保持占用 0% cpu 和不变的内存)。