Azzera filtri
Azzera filtri

how to read bytes using fread or in a matrix

2 visualizzazioni (ultimi 30 giorni)
kumar panduga
kumar panduga il 30 Apr 2016
Risposto: Walter Roberson il 30 Apr 2016
I am using fread to open'.dat' files. The file has variables with its values displayed in matrix. Every column in assigned a variable and each column is of different length(1st column 4 bytes, 2nd column 2 bytes etc) I have tried opening 1st column but unable to open 2nd column. I would like to know how to all columns.
  1 Commento
dpb
dpb il 30 Apr 2016
Need detailed description of file format. Sounds more like ASCII file from the above rather than stream (unformatted) file. And, files are record-oriented, not by column.

Accedi per commentare.

Risposte (1)

Walter Roberson
Walter Roberson il 30 Apr 2016
collength = [4, 2, ... etc];
fmt = sprintf('%%%ds', collength);
fid = fopen('MyFile.dat', 'r');
datacell = textscan(fid, fmt, 'Delimiter', '', 'Whitespace', '');
fclose(fid);
Now datacell{K} is the K'th column as a cell array of strings.
I did not attempt to convert to numeric because you gave us no information that would suggest the columns are numeric. It might be appropriate to use %%%df or %%%dd

Categorie

Scopri di più su Large Files and Big Data in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by