使用node.js将特定值从文本文件读取到数组中

时间:2014-05-03 16:34:56

标签: node.js

我有一个文本文件,其中包含以下格式的数据:

2014-5-2 17:42:44: Temperature 23.6 C, Humidity 27.4 % RH, Light 624
2014-5-2 17:42:46: Temperature 23.6 C, Humidity 27.4 % RH, Light 621
2014-5-2 17:42:48: Temperature 23.6 C, Humidity 27.3 % RH, Light 631
2014-5-2 17:42:50: Temperature 23.6 C, Humidity 27.3 % RH, Light 623
2014-5-2 17:42:52: Temperature 23.7 C, Humidity 27.3 % RH, Light 622
2014-5-2 17:42:54: Temperature 23.6 C, Humidity 27.4 % RH, Light 649
2014-5-2 17:42:56: Temperature 23.7 C, Humidity 27.3 % RH, Light 637

我需要读取3个数组中的值 - 温度,湿度和光。因此,温度数组的值如下:

[23.6,23.6,23.6,23.6,23.7,......]

湿度和光线阵列的方式相同。

有没有办法读取这样的文本文件并使用node.js将值放在数组中?

1 个答案:

答案 0 :(得分:0)

您可以读取文件并逐行解析。结束符号\n可能是分隔符。

然后您需要的是从每行解析必要的数字。

var fs  = require('fs');

fs.readFile('test.txt', 'utf8', function(err, data) {
    if (err) throw err;

    var temperature = [],
        humidity = [],
        light = [];

    data.split(/\n/).forEach( function( item ) {
        temperature.push( Number( item.match(/Temperature(.\d+[.]\d+)/)[1] ) );

        // do the same for other ones
    });
});