csvtojson如何添加rownumber

csvtojson how to add rownumber

这里是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
}