How to read only some columns of a text file?

2 visualizaciones (últimos 30 días)
Samuele Bolotta
Samuele Bolotta el 11 de Mayo de 2020
Comentada: per isakson el 11 de Mayo de 2020
I'd like to read out only columns from 3 to 7. However, this is not working. Can you help?
Thanks!
%Get events from text file
prompt_totalfiles = 'Enter number of files you want to input: '; %asks for number of files
total_files = input(prompt_totalfiles);
fileids = cell(total_files,1);
j = 1;
Baseline_adjustment = 0.1; %put in baseline photodetector value here (the readout with the led on but the patch cable in pitch black
wholedff = cell(1, 11);
for file = 1:total_files
[inputfile,path] = uigetfile('*.txt');
fileids{file} = fopen(fullfile(path, inputfile));
if fileids{file} == -1
error('Failed to open file "%s"', fullfile(path, inputfile));
end
b = textscan(fileids{file},'%*n %*n %n %n %n %n %n', 'delimiter', '/t');
num = b{3};
epochn = b{4};
state = b{5};
count = b{6};
duration = b{7};
  1 comentario
Walter Roberson
Walter Roberson el 11 de Mayo de 2020
'delimiter', '\t'
Also if columns 1 and 2 might not be numeric then use %*s for them.

Iniciar sesión para comentar.

Respuestas (1)

per isakson
per isakson el 11 de Mayo de 2020
Editada: per isakson el 11 de Mayo de 2020
The text file might have more than 7 coloums.
Replace
'%*n %*n %n %n %n %n %n'
by
'%*s%*s%n%n%n%n%n%*[^\n]'
%*[^\n]' skips to the end of line
The code doesn't include end to close the for-loop.
The result of the import might be overwritten for each iteration of the loop.
  8 comentarios
Samuele Bolotta
Samuele Bolotta el 11 de Mayo de 2020
Ah no I actually found out the problem! I should use %2s instead of %s. Thanks!
per isakson
per isakson el 11 de Mayo de 2020
" [...] I should use %2s instead of %s." No, the problem is rather with the delimiter. I assume there is no '\t' after the six coloumn.

Iniciar sesión para comentar.

Categorías

Más información sobre Text Data Preparation en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by