[~, ~, 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 を使用しています。