使用对象填充Array,从具有预定义名称的csv读取

kb5ga3dv  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(112)

(使用Nodejs,csvjs)我试图读取csv并解析它以获得每行的Object。这是通过“csvjs”完成的。对于读取的每一行,我创建一个对象,并使用Object. assign添加信息。

fs.createReadStream('students.csv')
  .pipe(parse({
      delimiter: ",", 
      header:true,
      from_line:2,  
      encoding:'utf8',  
      objectMode:true,}))
  .on('data', function(dataRow) {
      //console.log(`DATAROW: ${dataRow}`)
      let data = dataRow.slice( )
      console.log(`DATA: ${data}`)
      const pros = {...data}
      Object.assign(pros,{'first_name' : pros[0]})[0]
      delete pros[0]
      Object.assign(pros,{'last_name' : pros[1]})[1]
      delete pros[1]

字符串
我得到了一个对象,并将其放入数组中。即:

[{
first_name: '',
last_name: '',
name: ''
}]


现在的目标是,每个对象都成为一个嵌套对象,在一个对象与'接触',即:

{Contact:
  {
    first_name: '',
    last_name: '',
    name: ''
  }
}


我在想,也许我可以创建一个预定义的对象'{Contact:{ }}',并使用从csv读取的单元格填充它。

jm2pwxwz

jm2pwxwz1#

你能说清楚你有什么和你想要什么吗?例如给予一个你用作输入的csv文件的例子,你的输出应该是这个csv文件的样子,这样我们就有了一个可复制的例子?
如果你只是想改变信仰

array = [{
first_name: '',
last_name: '',
name: ''
}]

字符串
进入

object = {Contact:
  {
    first_name: '',
    last_name: '',
    name: ''
  }
}


那么你可以这样做:

object = {Contact:{...array[0]}}

相关问题