Reading a text file
조회 수: 5 (최근 30일)
이전 댓글 표시
Hey everyone!
I have a question regarding textscan[]; command.
I have a file and I want to read it, but somehow I can't get it to read the I want to. The file looks like this :
CsF 33 734824
Al 22 734824
NaCl 77 734824
This is a mere sample and it updates now and then but that's not important. I want it to read in a way that each cell has an information about change. The change consists of element, mass and MatLab date number. So in this case a cell array would be "CsF 33 734824" or {3x1}. I have only been able to read it nicely, but the problem is that all three informations get put into one cell.
So I have whitespace and newline separators.
fid = fopen('Spojine.txt');
R = textscan(fid, '%s', 'delimiter', '\n');
fclose(fid);
If someone would be nice enough to assist my code, that would be lovely! :)
댓글 수: 0
채택된 답변
Fangjun Jiang
2011년 11월 21일
I recommend Jan's approach because it puts string into sting and numerical to numerical. But if you want it, you can use reshape().
fid = fopen('test.txt');
R = textscan(fid, '%s');
S=reshape(R{:},3,[]).';
fclose(fid);
댓글 수: 0
추가 답변 (2개)
Jan
2011년 11월 21일
fid = fopen('Spojine.txt');
R = textscan(fid, '%s %f %f', 'delimiter', ' ')
fclose(fid);
Then the names are found in the cell string R{1}, and the values as vectors in R{2} and R{3}.
댓글 수: 2
Jan
2011년 11월 21일
@Slobodan: Waht about posting exactly, what you want as output? The "exact opposite" is not well defined.
Slobodan Djordjevi?
2011년 11월 21일
댓글 수: 1
Fangjun Jiang
2011년 11월 21일
Or you could avoid using reshape,
%%
fid = fopen('test.txt');
R = textscan(fid, '%s %s %s','collectoutput',true);
fclose(fid);
참고 항목
카테고리
Help Center 및 File Exchange에서 LaTeX에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!