如何将列表写入csv文件?对于这种情况,我找不到任何好的例子。我有一个看起来像这样的列表:
list1 = ["label1", 100, 100, "label2", 200, 200, "label3", 300, 300];
我希望它看起来像这样(已伪装):
或类似这样:
我的方法是使用var csv = require('fast-csv');
,但它的库太旧了,而且对我来说也无法正常工作。
var ws = fs.createWriteStream('data.csv');
csv.write(list1, {true}).pipe(ws);
2018年最好的方法是什么?
答案 0 :(得分:0)
您可以使用csv-write程序包。
const createCsvWriter = require('csv-writer').createObjectCsvWriter;
let list1= ["label1",100,200,"label2",300,400,"label3",500,600];
let headerRec = [];
let records = [];
for(let i of list1){
if(typeof(i)=="string"){
let key = i
let index = list1.indexOf(i);
headerRec.push({id:i,title:i});
records.push({[i]:list1[index+1]});
records.push({[i]:list1[index+2]});
}
}
const csvWriter = createCsvWriter({
path: './file.csv',
header: headerRec
});
csvWriter.writeRecords(records)
.then(() => {
console.log('...Done');
});