Textscan returns empty array

조회 수: 11 (최근 30일)
Balkrishna Patankar
Balkrishna Patankar 2017년 12월 13일
답변: Balkrishna Patankar 2017년 12월 14일
I have difficulty with parsing a file using text scan. The file is as follows:
Statistics;Object ID;Object Class;Area (µm²);Perimeter (µm);Mean (Radius) (µm);Mean (Gray Intensity Value);Mean (Color Intensity Value);Shape Factor;Center of Gravity X (µm);Center of Gravity Y (µm);Equivalent Circle Diameter (µm);Value (Z) (nm)
;1;2;8.77;24.45;0.62;112.42;;0.18;1912.41;313.47;3.34;15271210.00
;2;2;5.54;14.94;0.50;106.92;;0.31;1846.18;25.47;2.66;15271210.00
The code I write is :
[filename,folder]=uigetfile('*.txt');
%Open file
[fileID,errmsg] = fopen(filename);
data_cell = textscan(fileID,'%f%f%f%f%f%f%f%f%f%f%f%f%f', 'delimiter', ';','EmptyValue',-Inf,'HeaderLines',1);
fclose(fileID);
data_cell is always returned empty. Can someone help ?
Thanks
  댓글 수: 2
Michal Dobai
Michal Dobai 2017년 12월 13일
편집: Michal Dobai 2017년 12월 13일
I tested your program and it gives me 1x13 cell array of column vectors representing each column in input text file. So it works for me just fine.
Are you really opening file you mean to open? Because one mistake I can think of, could be opening file outside your current MATLAB folder. If this file has same name as some file in your current MATLAB folder, your code will open file from current folder instead (and you don't have to get any error message).
That's why you should use full path to open your file. Now you're doing this:
fopen(filename);
you should consider to change it to this:
fopen(fullfile(folder,filename));
Balkrishna Patankar
Balkrishna Patankar 2017년 12월 14일
Thanks Michal for your help. The real problem as I figured out was in the encoding.
Changing the fopen to
[fileID,errmsg] = fopen(filename,'r','l','UTF16-LE');
solved the problem for me.

댓글을 달려면 로그인하십시오.

채택된 답변

Balkrishna Patankar
Balkrishna Patankar 2017년 12월 14일
The problem was with the encoding of the file. Changing the fopen to
[fileID,errmsg] = fopen(filename,'r','l','UTF16-LE');
solved the problem for me.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Other Formats에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by