Javascript csvtojson如何添加行数
这里是node.js的新手。我使用Javascript csvtojson如何添加行数,javascript,node.js,csvtojson,Javascript,Node.js,Csvtojson,这里是node.js的新手。我使用csvtojson将csv读入对象fileDataObject,如下所示: const csv=require("csvtojson"); csv( { delimiter:mq.delim ,trim:false } ) .fromFile(mq.folder_pending+'\\'+file) .then((fileD
csvtojson
将csv读入对象fileDataObject
,如下所示:
const csv=require("csvtojson");
csv(
{
delimiter:mq.delim
,trim:false
}
)
.fromFile(mq.folder_pending+'\\'+file)
.then((fileDataObject)=>{
我希望fileDataObject
有一个名为row\u number
的附加“列”(属性),它指示文件的源行号
文档中提到了一些关于的内容,但我不知道如何使用钩子。包自述中已经有一个示例 获得
fileDataObject
(在您的示例中)后,只需添加一个列键即可
比如说
const csv=require('csvtojson')
csv()
.subscribe((jsonObj,index)=>{
jsonObj.myNewKey='some value'
// OR asynchronously
return new Promise((resolve,reject)=>{
jsonObj.myNewKey='some value'; <-- add column here
resolve();
})
})
.on('data',(jsonObj)=>{
console.log(jsonObj.myNewKey) // some value
});
您是否设法访问console.log
fileDataObject
并查看它是什么?是的,它工作得很好。您需要一个示例吗?因此,我们的想法是行号与fileDataObject
数组索引相同,对吗?但我能肯定吗?数组可能是以混合顺序存储的吗?它是索引+1,因为索引从0开始。索引将根据文件中的行号。我不认为有任何理由它可能以混合顺序存储,除非你对它进行变异。
const csv=require("csvtojson");
csv(
{
delimiter:mq.delim
,trim:false
}
)
.fromFile(mq.folder_pending+'\\'+file)
.then((fileDataObject)=>{
//if you already have a javascript object, u can manually do it too.
let counter = 1;
const fileDatWithRowNumber = fileDataObject.map( item => {
item.row_number = counter;
counter++;
return item
})
return fileDatWithRowNumber
}