Open multiple *.tsv files

4 visualizaciones (últimos 30 días)
Mário Sobrinho
Mário Sobrinho el 24 de Mzo. de 2021
Respondida: Mário Sobrinho el 26 de Mzo. de 2021
Hello to all,
I'm quite new in Matlab. How can I open multiple *.tsv files stored in one folder? I have several files ordered by date and I want to open some or all of them to create a chat with the data evolution with time. Right now I'm openning one by one but I guess this can be done automatically.
Thanks

Respuesta aceptada

Kojiro Saito
Kojiro Saito el 26 de Mzo. de 2021
datastore might fit your case.
If your PC has enought memory (RAM) to store all tsv files in workspace at once, you can use readall function.
For example, suppose tsv files are located in data directory and each tsv has column name col1, you can calculate the mean by the following.
ds = datastore('data/*.tsv', 'Type', 'tabulartext', 'FileExtensions', '.tsv');
t = readall(ds);
m = mean(t.col1);
Or, if the RAM is not sufficient, you can read by a chunk.
ds = datastore('data/*.tsv', 'Type', 'tabulartext', 'FileExtensions', '.tsv');
sums = [];
counts = [];
while hasdata(ds)
t = read(ds);
sums(end+1) = sum(t.col1);
counts(end+1) = length(t.col1);
end
m = sum(sums)/sum(counts);
alternatively, you can also use tall array.
ds = datastore('data/*.tsv', 'Type', 'tabulartext', 'FileExtensions', '.tsv');
tt = tall(ds);
m = gather(mean(tt.col1));

Más respuestas (1)

Mário Sobrinho
Mário Sobrinho el 26 de Mzo. de 2021
Hi Kojiro,
Thank you for your answer.

Categorías

Más información sobre Programming en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by