1

xlsread 関数を使用して、6000x2700 のスプレッドシート (xlsx ファイル) を読み取ろうとしています。

2 つの質問があります。

まず、次のようなものを使用すると

[num,txt,~]=xlsread(input_file,input_sheet,'A1:CYY6596')

Matlab は「ビジー」を表示し続け、応答を失います (30 秒以内に Excel で開くことができます)。

xlsx ファイルの範囲をループしたくない場合の解決策はありますか? つまり、このサイズのスプレッドシートを xlsread を使用して matlab にダンプできますか?

または、ループを使用してこれらのファイルを範囲ごとに読み取ることもできますが、最初にファイル全体を読み取らない限り、各スプレッドシートの最後の列を特定できません。したがって、最後の列を特定できないと、ループを作成してファイルを解釈するのが難しくなります。

2 番目の質問は、スプレッドシート全体を読まずにスプレッドシートの最後の列を特定する方法はありますか?

ありがとう。

編集:ただし、スプレッドシートの最初の 400 列 ('A1:RY6596') のみを読み取る同様のコードを実行すると、このような問題は発生しません。

4

2 に答える 2

1

どのバージョンの matlab を使用していますか? matlab には、bix Excel ファイルの読み込みに問題があります。Excel を csv に変換し、M = csvread(filename) を使用します。.xlsx を .xls に変換することもできます。

于 2016-04-15T07:33:13.423 に答える