我想知道如何从文本文件中仅提取数字数据并读取它的过程.我有一个名为temperature.txt的文本文件,它会在模拟我的代码时不断追加数据.我想知道javascript中的代码,可将数据实时地流式传输.
'use strict';
var plotly = require('plotly')('agni_2006','jtwubwfjtp');
var initdata = [{x:[], y:[], stream:{token:'g1z4cinzke', maxpoints:200}}];
var initlayout = {fileopt : 'overwrite', filename : 'try'};
plotly.plot(initdata, initlayout, function (err, msg) {
if (err) return console.log(err);
console.log(msg);
var stream1 = plotly.stream('g1z4cinzke', function (err, res) {
if (err) return console.log(err);
console.log(res);
clearInterval(loop); // once stream is closed, stop writing
});
var i = 0;
var loop = setInterval(function () {
var data = { x : i, y : i * (Math.random() * 10) };
var streamObject = JSON.stringify(data);
stream1.write(streamObject+'\n');
i++;
}, 1000);
});
这是现场直播数据的示例.我想通过读取将.txt文件中的数据值放在y数组中.
解决方法:
这只是读取与nodeJS异步的txt文件并使用正则表达式解析数字值的一种方法
var fs = require('fs');
function read(file, cb) {
fs.readFile(file, 'utf8', function(err, data) {
if (!err) {
cb(data.toString().split('\n'))
} else {
console.log(err)
}
});
}
read(__dirname+ '/temperatures.txt', function(data) {
var temperatures = [];
for(var temp in data){
temperatures.push(+data[temp].match(/\d+/g));
}
//your 'loop' logic goes here, y = temperatures
console.log(temperatures);
});
标签:node-js,plotly,javascript
来源: https://codeday.me/bug/20191028/1949435.html