4

[~, ~, temp] = xlsread('1.csv','A:A');1行のCSVファイルの最初の列を取得するために使用したかった1.csv.

1.csv次の 1 行のみが含まれます。

5B0E8795E18013D0FBC33558F0512832,3,7,1,練習,ジューサー,ジューサー,true,false,2347.0,0

ただし、返さtempれるのは <1048576x1> セルです。temp<1x1> セルであってはいけませんか?

xlsread() ドキュメントの「データの列の読み取り」の例に示されているように、パラメーター'A:A'は最初の列の既存の行のみを返す必要があります。は <1048576x1> セルであるため、存在しない行を含む列全体を返すように見えます (1048576 は Microsoft Excel 2010 の最大行数です)。temp'A:A'

正常に動作しtextscan()ます (=datatemp次のスニペットでは 1 行しかありません):

fid = fopen('1.csv','r');
datatemp = textscan(fid, '%s %d %d %d %s %s %s %s %s %d %d', 'delimiter',',', 'CollectOutput',true)
fclose(fid);

xlsread()しかし、なぜ正しく動作しないのかわかりません。MATLAB R2012a 64 ビット、Microsoft Excel 2010、および Windows 7 x64 を使用しています。

4

1 に答える 1