3

テキストファイルから数値データだけを抽出して読み込む手順が知りたいです。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);
});

これは、データをライブ ストリーミングするために plotly で指定された例です。.txt ファイルからのデータ値を、読み取りによって y 配列に入れたいと考えています。

4

1 に答える 1

5

これは、txt ファイルを nodeJS と非同期で読み取り、数値を正規表現で解析する 1 つの方法にすぎません。

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);
});
于 2015-07-28T19:24:04.430 に答える