textscan fopen
7 ビュー (過去 30 日間)
古いコメントを表示
I have a file to open which looks as follows
row1: '#CIR,Date[L],Time[L],Type,Clr Dir.'
then a list of
rows 'AXY.P,20050101,09:35:01.202,quant,^'
I used fid=fopen('location of the file …) textscan(fid, ' …%s %f combinations …. yet couldn;t get out what I wanted in an output
I wish to have 5 columns as shown by the delimiter ',' and convert the last column sign^ to a number say 1. Ultimately it would look like
AXY.P 20050101 09:35:01.202, quant, 1
Any help is appreciated.
0 件のコメント
回答 (4 件)
Friedrich
2012 年 1 月 4 日
Hi,
I created a file (data.txt) which contains the following lines
AXY.P,20050101,09:35:01.202,quant,^
AXY.P,20050101,09:35:01.202,quant,^
AXY.P,20050101,09:35:01.202,quant,^
You can get this data into MATLAB like this:
fid = fopen('data.txt','r');
data = textscan(fid,'%s%s%s%s%s','delimiter',',');
fclose(fid);
celldisp(data)
So convert the ^ to the number 4:
data{5} = num2cell(4*ones(size(data{5})));
celldisp(data)
2 件のコメント
Walter Roberson
2012 年 1 月 5 日
Use the three-output form of unique() and use the third output as the column value.
TAB
2012 年 1 月 5 日
Considering the content of file are as
AXY.P,20050101,09:35:01.202,quant,^
AXY.P,20050101,09:35:01.202,quant,w
AXY.P,20050101,09:35:01.202,quant,q
AXY.P,20050101,09:35:01.202,quant,^
-------------------------------------------------------
SymbolTable={'^','w','q'};
NumTable =[1 ,2 ,3];
fid = fopen('data.txt');
data = textscan(fid,'%s%s%s%s%s','delimiter',',');
for k=1:length(data{5})
data{5}(k)=num2cell(NumTable(strcmp(SymbolTable,data{5}(k))==1));
end
fclose(fid);
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Convert Image Type についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!