问题描述
这里是 node.js 的新手。我正在使用 csvtojson
将 csv 读入对象 fileDataObject
,如下所示:
const csv=require("csvtojson");
csv(
{
delimiter:mq.delim,trim:false
}
)
.fromFile(mq.folder_pending+'\\'+file)
.then((fileDataObject)=>{
我希望 fileDataObject
有一个名为 row_number
的附加“列”(属性),它表示文件的源代码行号。
文档中提到了一些关于 file line hook 的内容,但我不知道如何使用钩子。
解决方法
包自述文件中已经有一个示例。
获得 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
});
以你为例
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
}