How to convert binary file to csv file
52 views (last 30 days)
Show older comments
Dear colleagues, I have binary file. But I do not know how to read and convert to .CSV file. Please help. I attached it for reference. Thanks. https://drive.google.com/open?id=0Bx6bUTVOinyySl9nUnN2TGxxc2c
2 Comments
KSSV
on 3 Mar 2017
You must know the format of binary file to read. Do you know the format? Doc fread
Accepted Answer
Jan
on 3 Mar 2017
There is an infinite number of binary formats. The file extension "bin1" does not reveal, how the data are stored internally. It could be a vector of double values, or perhaps it starts with the dimensions as UINT64 vector and then the values are stored as single. This cannot be predicted and an examination of the data is not reliable also. You have to ask the person, who has written the file, or read the corresponding docs.
If you know the structure of the file, fread allowes to read the parts. Finally csvwrite creates the wanted file.
More Answers (1)
Walter Roberson
on 3 Mar 2017
Edited: Walter Roberson
on 3 Mar 2017
fid = fopen('test2.bin1');
data = fread(fid, '*uint8');
data = reshape(data, 32, []);
imshow(data);
Or possibly
data = reshape(data, 1, []);
imshow(data);
4 Comments
Walter Roberson
on 5 Mar 2017
fid = fopen('test2.bin1');
temp = fread(fid, [2 inf], 'uint16=>double');
fclose(fid);
data = complex(temp(1,:), temp(2,:));
Note: all of the complex components are 0.
You appear to have pulses of width 63 or (more often) 64, that are placed 125 or 126 apart. So this is basically a square wave with a duty cycle just slightly greater than 1/2
See Also
Categories
Find more on Text Files in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!