Я добился больших успехов в поиске на этом сайте и изучении нелепого языка - пакетного скриптинга Windows, но, честно говоря, я застрял. Пример ниже взят из старого модуля нашей лаборатории радиометра, который регулярно записывает свои данные в виде файлов TXT. Я пытаюсь разобрать их в правильный JSON. Идея состоит в том, чтобы иметь .bat-файл, который может периодически запускаться для изменения всех журналов TXT в определенной папке в формат JSON.
Некоторые из причин, по которым у меня возникают проблемы: длинный заголовок, нерелевантные «PRODUCES» или «MFRSR» в заголовке, нерелевантные единицы в заголовке, несогласованные разделители между значениями, странное значение «* 5» для нуля (который может быть просто нулем в этом случае) и тот факт, что данные содержат на 3 столбца больше, чем заголовок (первые 3 значения на самом деле являются старой нотацией электронной таблицы для времени).
*.текст:
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
};
Здесь есть кто-нибудь, кто знает партию и может начать меня?