0

node.js 的新手在这里。我正在使用csvtojson将 csv 读入 object fileDataObject,如下所示:

    const csv=require("csvtojson");
    csv(
        {
            delimiter:mq.delim
            ,trim:false
        }
    )
    .fromFile(mq.folder_pending+'\\'+file)
    .then((fileDataObject)=>{

我想要的是fileDataObject有一个名为 的附加“列”(属性)row_number,它指示文件的源行号。

该文档提到了一些关于文件行钩子的内容,但我不知道如何使用钩子。

4

1 回答 1

1

软件包自述文件中已经有一个示例。

一旦你得到你的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
}
于 2021-05-24T06:52:36.420 回答