Azzera filtri
Azzera filtri

Unable to determine formatSpec while reading .txt file by fscanf

2 visualizzazioni (ultimi 30 giorni)
Hi, i'm trying to make [n , 4] table with the a.txt
I need only need numeric datas but i have no idea which formatSpec i need to use.
I have no idea how to deal with the space blanks between numbers i need.
a = fopen('a.txt' ,'r')
data = fscanf(a , FromatSpec , [4 inf])
Please let me know which formatSpec i need to use.

Risposta accettata

Ameer Hamza
Ameer Hamza il 4 Nov 2020
This is one way:
lines = strsplit(fileread('a.txt'), '\n', 'CollapseDelimiters', false);
idx = find(contains(lines, 'Global Statistics'));
idx = [9 idx+10];
data = cell(1, numel(idx));
fid = fopen('a.txt' ,'r');
line_read = 0;
for i = 1:numel(idx)
data{i} = textscan(fid , '%f %f %f %f', 'HeaderLines', idx(i)-line_read);
line_read = idx(i) + numel(data{i}{1})+1;
end
fclose(fid);
[data, idx] = cellfun(@(x) deal({[x{:}]}, isempty(x{1})), data);
data(idx) = [];

Più risposte (0)

Categorie

Scopri di più su Data Import and Export in Help Center e File Exchange

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by