我正在尝试使用xlsread functioin来读取6000x2700(xlsx文件)的电子表格。
我有两个问题:
首先,当我使用像
这样的东西时[num,txt,~]=xlsread(input_file,input_sheet,'A1:CYY6596')
Matlab一直在显示'忙碌'并且失去响应(我可以在30秒内在excel中打开它)。
有没有解决方案如果我不想循环遍历xlsx文件的范围?换句话说,我可以使用xlsread将这种大小的电子表格转储到matlab中吗?
或者,也许我可以使用循环来读取这些文件的范围,但我无法识别每个电子表格的最后一列,除非我先读取整个文件。因此,如果我无法识别最后一列,则很难进行循环并对文件进行解释。
所以我的第二个问题是:有没有办法在不阅读整个电子表格的情况下识别电子表格的最后一列?
感谢。
编辑:但是,如果我运行的类似代码只能读取电子表格的前400列(' A1:RY6596'),那么这个问题就不会发生。
答案 0 :(得分:1)
您使用的是哪个版本的matlab? matlab有一个加载bix excell文件的问题。 转换csv中的excell并使用M = csvread(filename)。 您也可以尝试将.xlsx转换为.xls。
答案 1 :(得分:0)
您可以尝试使用该工具 File Exchange