【发布时间】:2017-01-04 22:55:43
【问题描述】:
我正在尝试从 csv 文件中提取信息,该文件有很多行,我想只返回特定行中的一些值/列。我使用 papa/babyparse 将 csv 文件转换为 JSON,但很难显示/提取特定行。
var baby = require('babyparse');
var csv2 = baby.parseFiles("netreqs.csv",{
header:true,
skipEmptyLines: true,
step: function(row) {
console.log("Row:", row.data);
},
complete: function() {
console.log("All done!");
}
});
我得到的输出似乎是不错的 JSON。
Row: [ { Req: 'RQ0342384',
'Requestor country': 'UK',
ReqType: 'other',
'ATOS Approved': '21.09.2016',
Urgent: 'No',
Assignee: 'Hans Gans',
'Change number': 'NA',
'Implementation Date': '',
'Change fully approved': 'No',
'Completion Date': '',
'Req Closed': 'No' } ]
Row: [ { Req: 'RQ0343423',
'Requestor country': 'US',
ReqType: 'Firewall',
'ATOS Approved': '04.11.2016',
Urgent: 'No',
Assignee: 'Peter Mueller',
'Change number': 'C9343449',
'Implementation Date': '',
'Change fully approved': 'No',
'Completion Date': '31.01.2017',
'Req Closed': 'No' } ]
...
我尝试将row.data.req 用于我的“如果”,但得到了“未定义”。还用.filter 和.hasOwnProperty 尝试过,但不知何故我似乎错过了一些东西(在if 之前也尝试过JSON.stringify,但没有成功)。经过数小时的跟踪和错误以及谷歌搜索后,我想我在这里问。
理想情况下,我可以使用变量通过 Req 过滤“行”(这是我从另一个函数获得的输入),然后从这个“行”查询其他键/值对,因为我想实现根据数据做出不同的反应。
我不得不承认我对此很陌生,感谢您的支持。非常感谢
【问题讨论】:
-
你只需要单行的值吗?
-
@cbronson 是的
标签: javascript json node.js papaparse