I've made a good deal of headway by searching this site and learning the ridiculous language that is Windows batch scripting, but frankly I'm stuck. The sample below is from our lab's old radiometer module which regularly logs its data as TXT files. I'm trying to parse them into proper JSON. The idea is to have a .bat file that can periodically run to change all the TXT logs in a certain folder to JSON format.
Some of the reasons I'm having trouble is: the long header, the irrelevant 'PRODUCES' or 'MFRSR' in the header, the irrelevant units in the header, the inconsistent separators between values, the weird '*5' value for null (which can just be zero in this case) and the fact that the data contains 3 more columns then the header (the first 3 values are in fact an old spreadsheet notation for time).
*.txt:
PRODUCES
MFRSR Detector Temp , degC
HTR V , V
MFRSR Thermopile Total , W/m^2
MFRSR 414.0nm Total , (W/m^2)/nm
MFRSR 496.6nm Total , (W/m^2)/nm
MFRSR 613.0nm Total , (W/m^2)/nm
MFRSR 670.9nm Total , (W/m^2)/nm
MFRSR 869.3nm Total , (W/m^2)/nm
MFRSR 937.6nm Total , (W/m^2)/nm
MFRSR Thermopile Diffuse , W/m^2
MFRSR 414.0nm Diffuse , (W/m^2)/nm
MFRSR 496.6nm Diffuse , (W/m^2)/nm
MFRSR 613.0nm Diffuse , (W/m^2)/nm
MFRSR 670.9nm Diffuse , (W/m^2)/nm
MFRSR 869.3nm Diffuse , (W/m^2)/nm
MFRSR 937.6nm Diffuse , (W/m^2)/nm
MFRSR Thermopile DirNorm , W/m^2
MFRSR 414.0nm DirNorm , (W/m^2)/nm
MFRSR 496.6nm DirNorm , (W/m^2)/nm
MFRSR 613.0nm DirNorm , (W/m^2)/nm
MFRSR 670.9nm DirNorm , (W/m^2)/nm
MFRSR 869.3nm DirNorm , (W/m^2)/nm
MFRSR 937.6nm DirNorm , (W/m^2)/nm
42099 0.29236 -0.55603 45.20 7.4819 *5 *5 *5 *5 *5 *5 *5 *5 *5 *5 *5 *5 *5 *5 *5 *5 *5 *5 *5 *5 *5
42099 0.57222 0.01180 45.20 7.8285 0.9378 0.0086 0.0086 0.0032 0.0040 0.0018 0.0005 0.9473 0.0093 0.0086 0.0032 0.0040 0.0018 0.0005 -0.8090 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
42099 0.57291 0.01415 45.20 7.8382 1.3587 0.0093 0.0086 0.0032 0.0040 0.0018 0.0005 1.3725 0.0093 0.0086 0.0032 0.0040 0.0023 0.0005 -0.9770 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
42099 0.57361 0.01656 45.20 7.8998 2.6372 0.0099 0.0100 0.0032 0.0040 0.0023 0.0005 2.6641 0.0099 0.0100 0.0032 0.0040 0.0023 0.0005 -1.6210 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
*.json:
PRODUCES1 = {
Id: 42099029236
X: -0.55603
DetectorTemp: 45.20,
HTRV: 7.4819,
ThermopileTotal: 0.0000,
414Total: 0.0000,
496Total: 0.0000,
613Total: 0.0000,
670Total: 0.0000,
869Total: 0.0000,
937Total: 0.0000,
ThermopileDiffuse: 0.0000,
414Diffuse: 0.0000,
496Diffuse: 0.0000,
613Diffuse: 0.0000,
670Diffuse: 0.0000,
869Diffuse: 0.0000,
937Diffuse: 0.0000,
ThermopileDirNorm: 0.0000,
414DirNorm: 0.0000,
496DirNorm: 0.0000,
613DirNorm: 0.0000,
670DirNorm: 0.0000,
869DirNorm: 0.0000,
937DirNorm: 0.0000
};
PRODUCES2 = {
Id: 42099057222
X: -0.55603
DetectorTemp: 45.20,
HTRV: 7.8285,
ThermopileTotal: 0.9378,
414Total: 0.0086,
496Total: 0.0086,
613Total: 0.0032,
670Total: 0.0040,
869Total: 0.0018,
937Total: 0.0005,
ThermopileDiffuse: 0.9473,
414Diffuse: 0.0093,
496Diffuse: 0.0086,
613Diffuse: 0.0032,
670Diffuse: 0.0040,
869Diffuse: 0.0018,
937Diffuse: 0.0005,
ThermopileDirNorm: -0.8090,
414DirNorm: 0.0000,
496DirNorm: 0.0000,
613DirNorm: 0.0000,
670DirNorm: 0.0000,
869DirNorm: 0.0000,
937DirNorm: 0.0000
};
Is there anyone here who knows batch and can get me started?