2016-07-15 48 views
2

我有這樣的(param.txt)的文件:Matlab:是否可以從ASCII文件導入數據並將它們放入結構中?

JSS 2 
ADEV 1 
VERS 770 
JSD 1 

我要把數據從該文件到一個結構,在我工作的一個變量。

讓我們說,我把它稱爲 「P」,則P是的結構:

Field Value 
_____ |_______ 
JSS |2 
ADEV |1 
VERS |770 
JSD |1 

然後:

>>> P.JSS 
ans = 
2 

這可能嗎?

謝謝!

+0

是的。有可能的。但是你必須手動閱讀和解析文件! –

回答

4

是的,您可以使用textscan來抓取所有零件,然後使用構造函數struct創建單元格。

fid = fopen('filename.txt', 'r'); 

% Parse out the fieldnames and numbers 
data = textscan(fid, '%s %d'); 

% Put the strings in the first row and the numbers in the second 
alldata = [data{1}, num2cell(data{2})].'; 

% Pass fieldnames and values to struct() 
P = struct(alldata{:}); 

fclose(fid); 
+0

它的工作原理,謝謝! – Neros

相關問題