2012-04-14 4 views
4

Excelで文字列セル配列に読み込むデータの大きな列があります。ただし、エントリの一部は数字で、残りは文字列です。だから私は何かを持っているMATLABでxlsreadを使用して数値と文字列のデータを読み取る

288537 
288537 
312857 
589889 
589889 
1019503 
1019503 
1098802 
1098802 
abc 
efg 
hij 
1992724 

最初の行はヘッダー行なので無視します。私が使用するとき

[~, ID] = xlsread('data.xlsx', 'A2:A125581') 

IDには、数値エントリではなく文字列エントリのみが含まれます。

数値を文字列として扱うにはどうすればよいですか?文字列としてすべてを読み取ることができますか?xlsread

+0

これは役に立ちますか? http://www.mathworks.com/support/solutions/en/data/1-36XFH9/index.html?product=ML&solution=1-36XFH9 –

+0

いいえ、すべてを文字列で読みたいと思います。数字と文字列。 –

答えて

3

XLSREADは3つの出力を返します。 3番目は、読み込まれたすべてを含むセル配列です。しかし、セル配列には数値データがあります。したがって、すべてを文字列として使用するには、次のように変換する必要があります。

%# read everything into one cell array 
[~,~,raw] = xlsread('data.xlsx', 'A2:A125581'); 
%# find numbers 
containsNumbers = cellfun(@isnumeric,raw); 
%# convert to string 
raw(containsNumbers) = cellfun(@num2str,raw(containsNumbers),'UniformOutput',false); 
+0

これは完璧に機能します。 –

関連する問題