Powershell V4:
gc .\data.csv | ConvertTo-Json | sc .\data.json
Powershell V4, V3:
Verwenden von PowerShell für die dynamische JSON-Analyse
Powershell V2:
Lesen Sie das Json-Objekt in Powershell 2.0
Durch das Durchsuchen dieser Website und das Erlernen der lächerlichen Sprache des Windows-Batch-Skripts bin ich ein gutes Stück vorangekommen, aber ehrlich gesagt stecke ich fest. Das Beispiel unten stammt aus dem alten Radiomodul unseres Labors, das seine Daten regelmäßig als TXT-Dateien protokolliert. Ich versuche, sie in richtiges JSON zu analysieren. Die Idee ist, eine .bat-Datei zu haben, die regelmäßig ausgeführt werden kann, um alle TXT-Protokolle in einem bestimmten Ordner in das JSON-Format zu ändern.
Einige der Gründe, warum ich Probleme habe, sind: der lange Header, die irrelevanten 'PRODUKTE' oder 'MFRSR' im Header, die irrelevanten Einheiten im Header, die inkonsistenten Trennzeichen zwischen den Werten, der komische '* 5'-Wert für null (die in diesem Fall nur Null sein kann) und die Tatsache, dass die Daten 3 weitere Spalten enthalten, dann die Kopfzeile (die ersten 3 Werte sind in der Tat eine alte Tabellenkalkulation für die Zeit).
*.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 };
Gibt es jemanden, der Batch kennt und mich anfangen kann?
Powershell V4:
gc .\data.csv | ConvertTo-Json | sc .\data.json
Powershell V4, V3:
Verwenden von PowerShell für die dynamische JSON-Analyse
Powershell V2:
Lesen Sie das Json-Objekt in Powershell 2.0