NodeJS-编辑一个CSV单元格

时间:2018-08-10 16:18:29

标签: javascript node.js csv

我想修改CSV文件中的某些单元格,然后首先读取该文件并获取所需零件的数据。但是,保存时会出现问题,因为它使行变平并且将import React from "react"; import "~app/_global/styles/mixins.scss"; export class MyButton {...} 字符转换为;,并且还在我修改的行中添加了一个额外的逗号。

如何修改和保存某个单元格的数据?

,

Sample.csv是:

var fs = require('fs'); 
var parse = require('csv-parse');

var parser = parse({delimiter: ';'}, function(err, data){

    var row0 = '' + data[0];
    var index = row0.split(',')[0];
    data[0] = index + ';' + 'Modified Cell Here' + ',' + row0.split(',')[2];

    fs.writeFile("./Sample.csv", data, function(err) { if(err) { return console.log(err); }}); 

    console.log(data);
});

fs.createReadStream(__dirname+'/Sample.csv').pipe(parser);

在修改后的Sample.csv中,它返回为:

0;123,abc
1;456,efg
2;789,hij

我期望如此:

0;Modified Cell Here,abc,1,456,efg,2,789,hij

1 个答案:

答案 0 :(得分:0)

我怀疑您可以在写之前用换行符将数组重新加入

片段::

data[0] = index + ';' + 'Modified Cell Here' + ',' + row0.split(',')[2];

var outputData = data.join('\n') ; 

fs.writeFile("./Sample.csv", outputData, function(err) { if(err) { return console.log(err); }}); 

:: snip