How do I import specific columns from a text file?

69 visualizzazioni (ultimi 30 giorni)
I have a rather lengthy script that I am tasked with fixing. The script pulls data from a .txt file, does some calculations, and plots data.
The script currently uses dlmread to open the .txt file, but this no longer works because a new data format (a notes column text instead of numeric data) was added in the middle of the columns of the text file. Now whenever the script gets to the point of the text file, there is a mismatch in data type and I get this error message.
Error using dlmread (line 147)
Mismatch between file and format character vector.
Trouble reading 'Numeric' field from file
Is it possible to tell Matlab to 'skip' over this one notes column while still using dlmread in the text file? Somehow choose columns 1-10 and 12-25 or something along those lines. I tried using readtable, but that got me a large table that I then couldn't convert back into the double arrays that the script originally started with. Trying to read the table and then convert to an excel spreadsheet didn't work either.
  1 Commento
KSSV
KSSV il 12 Mag 2018
There are many other functions to read text files. You may have a look on textscan, load, importdata etc. Coding depends on how your text file is and what you want. To get more help, attach your text file and mention what you want.

Accedi per commentare.

Risposta accettata

Ameer Hamza
Ameer Hamza il 12 Mag 2018
You can use readtable() to read the data from text file in the form of a table and then delete appropriate columns. For example
data = readtable(filename);
data(:,11) = []; will delete column 11
If then you want to convert the table to a matrix so that it match with the output of dlmread() to make it compatible with remaining code then use
data = table2array(data);

Più risposte (0)

Prodotti


Release

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by