令人惊讶的是,HYDRAS 3 不允许您至少以 csv 格式导出数据。
监视器文件是一个不太有趣的日志文件
您需要的所有数据都在读取文件中,我很快将一个 html 文件(用于从文本文件中提取数据)改编为您的读取文件。它绘制了数据的曲线。ERR.05 ERR.10 值被替换为值 0.000 如果它可以帮助你,这里是:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<META content="text/html; charset=ISO-8859-2" http-equiv="content-type">
<script src="https://cdnjs.cloudflare.com/ajax/libs/dygraph/2.1.0/dygraph.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/dygraph/2.1.0/dygraph.min.css" />
<title>extract data from text file</title>
</head>
<body>
<div id="wrap">
<div id="header">
<div id="main">
<h1>extract data from text file (read-file.txt HYDRAS 3)</h1>
<p>Nota: <BR>
Adapt to your needs in the function parseFile <BR>
<BR>
</p>
<form name="frmParse" action="">
<p>
File:
<input type="file" name="fileinput" onchange='openFile(event)' />
</p>
<p>Output:</p>
<p>
<textarea name="ed_output" rows="10" cols="87" style="width: 700px;"></textarea>
<br>
</p>
</form>
</div>
<div id="graphdiv2" style="width: 100%; height: 100%;">
</div>
<script type="text/javascript">
<!--
document.frmParse.ed_output.value = "";
var mytext=[];
var csv_data=[];
var csv_firstline="time,value\n";
String.prototype.beginsWith = function (string) {
return(this.indexOf(string) === 0);
};
function parseFile() {
document.frmParse.ed_output.value = "";
var index = 0;
var newtext=csv_firstline;
var v1="";
var v2="";
var date="";
var newArray = [];
for (var i = 0; i < mytext.length -1 ; i++ ) {
if (mytext[i].includes(" Date:")){
v1=mytext[i].match(/\d\d\/\d\d\/\d\d\d\d/g);
date=(moveLastArrayElementToFirstIndex(v1.toString().split("/"))).join('-') ;// date mm/dd/yyyy become yyyy-mm-dd
}
if (mytext[i].includes(".")){
v2=mytext[i].match(/ (.*\..*) /g);
if (v2!=null){
var time=mytext[i].match(/\((\d\d:\d\d:\d\d)\)/g).toString().replace(/[()]/g, '');
var txt=date +"T" +time.toString() +"Z," + v2.toString().trim().replace(/(Err.\d\d)/g, '0.000');//Err. value become 0.000
newtext+=txt +"\n";
newArray.push(txt);
}
}
}
document.frmParse.ed_output.value = newtext;
csv_data=newArray.join("\n");
processData();
}
//graph csv with Dygraph
function processData() {
g2 = new Dygraph(
document.getElementById("graphdiv2"),
csv_data,
{
xlabel: " ",
ylabel: " ",
title: csv_firstline,
showRangeSelector: true,
rangeSelectorHeight: 30,
rangeSelectorPlotStrokeColor: 'black',
rangeSelectorPlotFillColor: 'grey'
}
);
}
//Moves last element in an array to the front
function moveLastArrayElementToFirstIndex(this_array) {
var new_array = new Array();
new_array[0] = this_array[this_array.length-1]; //first element is last element
for(var i=1;i<this_array.length;i++) { //subsequent elements start at 1
new_array[i] = this_array[i-1];
}
return new_array;
}
function readAsText(file) {
var reader = new FileReader();
reader.onload = function() {
mytext = reader.result.split("\n");
document.frmParse.ed_output.value = "";
parseFile();
};
reader.readAsText(file);
}
var openFile = function(event) {
document.frmParse.ed_output.value = "";
var input = event.target;
readAsText(input.files[0]);
};
function clearFileInput(){
document.frmParse.fileinput.value = "";
}
</script>
</body>
</html>