How to use textscan to read this .dat file?

3 views (last 30 days)
Hi,
I fail to use textscan to read the following formatted data. What should be the correct argument to read it and let the same data type be in a single array? Thanks!
{"time":1431653957, "OD":0.0010, "Z":0.0000, "U":0}
{"time":1431654017, "OD":0.0007, "Z":0.0000, "U":0}
{"time":1431654077, "OD":-0.0005, "Z":0.0000, "U":0}
{"time":1431654137, "OD":-0.0015, "Z":0.0000, "U":0}
  3 Comments
Hsinho
Hsinho on 17 May 2015
Hi
I want to read another more complicated formatted data.
It looks like
{"timestamp": 1431654053, "ods": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "u": [7, 7, 7, 7, 7, 7, 7, 7], "z": ["0.0000", "0.0000", "0.0000", "0.0000", "0.0000", "0.0000", "0.0000", "0.0000"]}
I fail again to have a correct argument of textscan. The original data file is uploaded.
Stephen23
Stephen23 on 17 May 2015
Edited: Stephen23 on 17 May 2015
Indeed this is a much more complicated file format. Some more information would help:
  • is the number of elements in the vectors constant?
  • should numeric values with quotation marks be imported as strings?
  • what is the desired output format?

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 17 May 2015
Edited: Stephen23 on 17 May 2015
It is not clear exactly how this file is formatted, as the text on the page is not a good way to represent files. Please upload the actual data file.
Based on the text in the question I created a small data file (attached), and then a small script containing this code:
fmt = ['{',repmat('%*s%f',1,4),'}'];
fid = fopen('temp.txt','rt');
A = cell2mat(textscan(fid,fmt,'Delimiter',':,'));
fclose(fid);
Which reads all of the numeric data correctly:
>> A
A =
1.4317e+009 0.001 0 0
1.4317e+009 0.0007 0 0
1.4317e+009 -0.0005 0 0
1.4317e+009 -0.0015 0 0
  1 Comment
Hsinho
Hsinho on 17 May 2015
Thank you very much! The data is a .dat file and its content looks exactly what has been paste but with more lines in the same format.
Your answer has solved my question. :-)

Sign in to comment.

More Answers (0)

Tags

Products

Community Treasure Hunt

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

Start Hunting!