读取文本文件行并将 x 和 y 值存储在数组中(NodeJS)

Posted

技术标签:

【中文标题】读取文本文件行并将 x 和 y 值存储在数组中(NodeJS)【英文标题】:Read textfile lines and store the x- and y- values in an array (NodeJS) 【发布时间】:2014-01-22 15:34:59 【问题描述】:

我正在尝试使用 NodeJS 将文本文件中的 X 和 Y 值存储在一个数组中,但实际上我不知道该怎么做..

文本文件如下所示:

X        Y
385      0.12567 
386      0.25786 
387      0.35789 
388      0.45798 
...      .......

所以我试图让数组看起来像这样:

arr[x]= 385, 386, 387, 388 ...  
arr[y]= 0.12567, 0.25786, 0.35789, 0.45798  ..  

我希望你能帮助我!

JS

【问题讨论】:

【参考方案1】:

你可以这样做:

var fs = require('fs');

function readLines(input, done) 
    var arr = [];
    var remaining = '';

    input.on('data', function(data) 
        remaining += data;
        var index = remaining.indexOf('\n');
        while (index > -1) 
            var line = remaining.substring(0, index);
            remaining = remaining.substring(index + 1);
            func(line);
            index = remaining.indexOf('\n');
        
    );

    input.on('end', function() 
        if (remaining.length > 0) 
            func(remaining);
            done(arr);
        
    );

    function func(data) 
        arr.push(data.split(/\s+/g));
    


var input = fs.createReadStream('test.txt');
readLines(input, done);

function done(arr) 

    var obj = ;
    var key1 = arr[0][0];
    var key2 = arr[0][1];
    obj[key1] = [];
    obj[key2] = [];

    arr.shift();

    arr.forEach(function (item) 
        obj[key1].push(item[0]);
        obj[key2].push(item[1]);
    );

    console.log('X:', obj['X']);
    console.log('Y:', obj['Y'])


输出:

X: [ '385', '386', '387', '388' ]
Y: [ '0.12567', '0.25786', '0.35789', '0.45798' ]

见: node.js: read a text file into an array. (Each line an item in the array.)

【讨论】:

以上是关于读取文本文件行并将 x 和 y 值存储在数组中(NodeJS)的主要内容,如果未能解决你的问题,请参考以下文章

如何将文件逐行读入node.js中的数组[重复]

读取特定行中的值(可变数量的值)并将它们存储在数组中

C#读取文本文件并将值存储在不同的列表中

从文件中逐行读取并存储到二维数组中

如何读取文本文件并将其行添加到 Java 中的数组中?

如何用python将变量及其值写入文本文件?