【问题标题】:Csvtojson module returning unwanted keysCsvtojson 模块返回不需要的键
【发布时间】:2020-05-19 04:28:02
【问题描述】:

第一个问题,

我正在尝试使用 csvtojson npm 模块从 csv 文件中获取 JSON 对象。

除了我得到的 JSON 对象有对象键之外,一切正常:

预期结果:

{
 {"key": "value",
  "other_key": "other_value"
 },
 {"key": "value",
  "other_key": "other_value"
 }
}

获得:

{
 1:{
   "key": "value",
   "other_key": "other_value
 },
 2:{
    "key": "value",
    "other_key": "other_value
 }
}

我创建 JSON 对象的代码如下:

csv({delimiter:";" }).fromFile(csv_path+name_csv)

csv文件如下:

TITLE;TITLE2;TITLE3;TITLE4;TITLE5
string;string;int;string;int
string;string;int;string;int

【问题讨论】:

  • 那些不是行号,那些是对象键
  • @GrafiCode 好的,有什么办法可以删除它们吗?
  • 这取决于您的 CSV 文件。可以发个sn-p吗?
  • @GrafiCode 编辑它,它是一个非常简单的 csv 文件,带有 ';'作为分隔符。谢谢
  • 您能否尝试将noheader: true 添加到您的csv() 电话中?

标签: node.js json csv csvtojson


【解决方案1】:

考虑这个实现:

const csv = require('csvtojson')

var csvStr = `TITLE;TITLE2;TITLE3;TITLE4;TITLE5
string;string;int;string;int
string;string;int;string;int`

csv({
  delimiter:";"
})
.fromString(csvStr)
.then((csvRow)=>{
    console.log(csvRow)
})

它输出一个对象数组:

[ { TITLE: 'string', TITLE2: 'string', TITLE3: 'int', TITLE4: 'string', TITLE5: 'int' }, { TITLE: 'string', TITLE2: 'string', TITLE3: 'int', TITLE4: 'string', TITLE5: 'int' } ]

【讨论】:

  • 谢谢!但我知道它是什么,现在我觉得问起来很愚蠢......我得到的对象就像你说的那样,但是我用 console.log(JSON.stringify(jsonobj)) 打印它,而不是方法什么把数字放在那里。给您带来不便深表歉意,感谢您的回答!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-11
  • 2020-07-06
  • 1970-01-01
  • 2021-09-17
相关资源
最近更新 更多