【发布时间】:2017-04-05 04:33:19
【问题描述】:
我想在现有的 csv 文件中添加新行?如果 csv 文件存在,那么我不想添加列标题,只想在文件中存在的行之后添加新行。
这是我正在尝试的代码:
var fields = ['total', 'results[0].name.val'];
var fieldNames = ['Total', 'Name'];
var opts1 = {
data: data,
fields: fields,
fieldNames: fieldNames,
newLine: '\r\n'
};
var opts2 = {
newLine: '\r\n',
data: data,
fields: fields,
fieldNames: fieldNames,
hasCSVColumnTitle: false,
};
fs.stat('file.csv', function (err, stat) {
if (err == null) {
console.log('File exists');
var csv = json2csv(opts2);
fs.appendFile('file.csv', csv, function (err) {
if (err) throw err;
console.log('The "data to append" was appended to file!');
});
} else if (err.code == 'ENOENT') {
// file does not exist
var csv = json2csv(opts1);
fs.writeFile('file.csv', csv, function (err) {
if (err) throw err;
console.log('file saved');
});
} else {
console.log('Some other error: ', err.code);
}
});
【问题讨论】:
-
那么问题出在哪里?
-
如何在现有的 csv 文件中追加新行?
-
你已经有代码来检查文件是否已经存在。现在只是 append a new row. CSV 只是意味着“逗号分隔值”。以这种方式格式化数据非常容易。
-
谢谢。它的工作。但是如何在 csv 文件中添加新行。我尝试使用 \t\n 命令,但没有按预期工作。
-
你为什么要使用
\t?这就是一个标签。你需要做\n(或\r\n),然后是你的新行。例如:'\n' + row.
标签: javascript json node.js csv npm-install