我正在尝试在匹配的字符串上返回一个行值。
我从没有标题详细信息的 csv 开始。将csv加载到内存后,我想我需要先添加标题,然后将数据转换为json,然后循环遍历数据以在数组中找到正确的对象。
我使用 highland 创建了一个读取流并输出到对象。但是,换行符\r
并\r\n
没有被解析出来并被注入到值字符串中。
这种方法似乎也没有解析整个文件,它输出 3 行。
highland(fs.createReadStream('example.csv', 'utf8'))
.map(line => line.split(','))
.map(parts => ({
a: parts[0],
b: parts[1],
c: parts[2]
}))
.each(x => console.log(x))
最好将 CSV 构造为 JSON,然后使用该.filter()
方法匹配记录。
1000+行文件的实际输出
{ a: '', b: 'CD53110' }
{ a: '\nRD40115', b: 'CD40315' }
{ a: '', b: '63\r\nRE15468' }
{ a: '96798', b: '5\r\nRR60899' }
示例输入片段
,CD510,13
,T9069,65
RCM22,TC633,101
RC023,87693,16
M2024,T7636,109
注意:前几行仅包含“b”和“c”列。