Textscan for comma seperated file with mixed format

5 visualizaciones (últimos 30 días)
I am trying to use the textscan function with a text file where the delimiter is a comma(,). I load the text file using:
f=fread(fid,'*char')';
Which gives me a variable f that looks like:
f = '2020-01-20 00:00:00,1,2,4,5,Not Connected,,,NaN,10,5';
The variable f contains strings and numeric data but I only want to use the numeric data. The format can change between measurements and the data does have multiple lines which I am not able to recreate now in the example.
Using code: textscan(f,'%f',11,'delimiter',',') will not give me an output as expected. I would expect a 11 by x cell array with only floating numbers or else a NaN.
How can I get this code to work?

Respuesta aceptada

Bob Thompson
Bob Thompson el 20 de En. de 2021
Have you tried using readtable? It has a delimited text option, and tends to be a bit better about handling different types of data.
f = readtable(fid,'Filetype','delimitedtext','Delimiter',',');
This is untested, because I don't have access to a sample file for you, but it should be something of that form.
  1 comentario
Thijs Van de Wiel
Thijs Van de Wiel el 20 de En. de 2021
Yes I have tried that, unfortuanetly it did take quite a lot of time to compute that for a large data set. Therefore I preferred using textscan since if the data set would be all floating numbers this method is the fastest.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Large Files and Big Data 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