Matlab теряет ответ при использовании xlsread чтения большой таблицы
Я пытаюсь использовать функцию xlsread для чтения электронных таблиц размером 6000x2700 (файл xlsx).
У меня есть два вопроса:
Во-первых, когда я использую что-то вроде
[num,txt,~]=xlsread(input_file,input_sheet,'A1:CYY6596')
Matlab продолжает показывать "занят" и теряет ответ (хотя я могу открыть его в Excel в течение 30 секунд).
Есть ли решение, если я не хочу перебирать диапазоны файла xlsx? Другими словами, могу ли я просто сбросить электронную таблицу такого размера в matlab с помощью xlsread?
В качестве альтернативы, может быть, я могу использовать циклы для чтения этих файлов по диапазону, но я не могу определить последний столбец каждой из электронных таблиц, если сначала не прочитал весь файл. Поэтому, если я не могу определить последний столбец, трудно сделать циклы и выполнить мою интерпретацию файла.
Итак, мой второй вопрос: есть ли способ определить последний столбец таблицы, не читая всю таблицу?
Благодарю.
РЕДАКТИРОВАТЬ: Однако, если я запускаю аналогичный код, который читает только первые 400 столбцов ("A1:RY6596") электронной таблицы, такой проблемы не возникает.
2 ответа
Какую версию Matlab вы используете? Matlab имеет проблему для загрузки файла BIX Excell. преобразовать Excell в CSV и использовать M = CSVread(имя файла). Вы также можете попробовать конвертировать.xlsx в.xls.