使用xlsread读取大型电子表格时,matlab会失去响应

使用xlsread读取大型电子表格时,matlab会失去响应,matlab,xlsread,Matlab,Xlsread,我正在尝试使用xlsread函数来读取6000x2700(xlsx文件)的电子表格 我有两个问题: 首先,当我使用 [num,txt,~]=xlsread(input_file,input_sheet,'A1:CYY6596') Matlab一直显示“忙”和失去响应(而我可以在30秒内在excel中打开它) 如果我不想在xlsx文件的范围内循环,有什么解决方案吗?换句话说,我可以使用xlsread将这种大小的电子表格转储到matlab中吗 或者,也许我可以使用循环逐范围读取这些文件,但除非我先

我正在尝试使用xlsread函数来读取6000x2700(xlsx文件)的电子表格

我有两个问题:

首先,当我使用

[num,txt,~]=xlsread(input_file,input_sheet,'A1:CYY6596')
Matlab一直显示“忙”和失去响应(而我可以在30秒内在excel中打开它)

如果我不想在xlsx文件的范围内循环,有什么解决方案吗?换句话说,我可以使用xlsread将这种大小的电子表格转储到matlab中吗

或者,也许我可以使用循环逐范围读取这些文件,但除非我先读取整个文件,否则我无法识别每个电子表格的最后一列。因此,如果无法识别最后一列,则很难对文件进行循环和解释

所以我的第二个问题是:有没有一种方法可以在不阅读整个电子表格的情况下识别电子表格的最后一列

谢谢


编辑:但是,如果我运行一个类似的代码,只读取电子表格的前400列('A1:RY6596'),这样的问题就不会发生。

您使用的是哪个版本的matlab? matlab在加载bix excell文件时遇到问题。 将Excel转换为csv格式,并使用M=csvread(文件名)。 您还可以尝试将.xlsx转换为.xls。

您可以在中尝试该工具

这是一个低技术的解决方案,但如果xlsread在该文件上工作不好,您可能希望使用Excel将.xlsx文件保存为.csv文件,然后使用Matlab导入该文件。谢谢您的回答。我尝试使用csv文件,但Matlab仍然没有响应(过了一段时间,占用了0%的cpu和不变的内存)。据我所知,csvread只读数字,对吗?但是,我还想读取电子表格中的字符串。这是否适用?不管怎样,我可能想先试试。谢谢,我试过csvread。但它无法读取并给出错误:“文件和格式字符串之间不匹配。无法从文件中读取“数字”字段”。我还仔细检查了csvread的文档,非常确定它不能读取非数字数据,而我的spreadshseets中有很多数据。谢谢你,我可以告诉你它可以读取文本和数字。我已经将电子表格分为5-6个部分,我的问题已经解决了。无论如何,谢谢你的工具,也许有一天它会帮助我或其他人。