Javascript 如何使用Node.js按需解析记录?
是否有一个节点模块可以解析CSV文件中特定数量的记录?用例是解析一个大的日志文件,并根据请求将记录传递给分页客户机 无法做到这一点,而我发现最接近的是,这需要重新发明CSV解析轮,并且会破坏多行记录 但让我们降低门槛:如何使用Node.js逐个解析单行CSV记录?在大多数其他语言中,这是一项非常简单的任务。解析单个“行”(也可以有嵌入的换行符): 我不知道你所说的“CSV文件中特定数量的记录”是什么意思,也不知道问题到底是什么。一旦您读取了所需的金额,只需将响应发送回客户,您就完成了 编辑:如果要实现分页,也可以使用:Javascript 如何使用Node.js按需解析记录?,javascript,node.js,csv,Javascript,Node.js,Csv,是否有一个节点模块可以解析CSV文件中特定数量的记录?用例是解析一个大的日志文件,并根据请求将记录传递给分页客户机 无法做到这一点,而我发现最接近的是,这需要重新发明CSV解析轮,并且会破坏多行记录 但让我们降低门槛:如何使用Node.js逐个解析单行CSV记录?在大多数其他语言中,这是一项非常简单的任务。解析单个“行”(也可以有嵌入的换行符): 我不知道你所说的“CSV文件中特定数量的记录”是什么意思,也不知道问题到底是什么。一旦您读取了所需的金额,只需将响应发送回客户,您就完成了 编辑:如果
var csv=require('csv');
var-skip=100;
var限值=10;
csv()
.from.path('file.csv')
.on('record',函数(行,索引){
如果(索引>=跳过和索引<(跳过+限制))
console.log('R',索引);
});
据我所知,您只想将逗号分隔的值行解析为数组?如果是,请尝试以下方法:
你应该考虑写一个:你说的“单行CSV记录”是什么意思?因为很明显,这不仅仅是一行,因为我的回答被否决了。@Slavo:不知道是谁否决了你的答案(不是我)。所谓“单行CSV记录”,我指的是逗号分隔的元组,在任何字段中都没有换行符。与中一样,CSV数据的常规类型。我似乎在解析示例代码时遇到问题。如何读取“CSV的单行”,从而嵌入换行符?如何定义
csv
功能?“特定数量的记录”,我的意思是从CSV文件中同步读取N条记录,而不是在内存中解析整个文件,然后选择所需的记录。@DanDascalescu抱歉,您降低了条:)示例代码解析单行CSV记录(您可以多次调用它以实现“逐个”功能)。你没有提到他们应该从哪里来。而csv
是节点csv
。也许你应该把你的问题说得更清楚,因为每个人似乎都没能实现你的意图。。。
var csv = require('csv'); // node-csv
csv()
.from.string(SINGLE_LINE_OF_CSV)
.to.array(function(record) {
console.log('R', record);
});
var csv = require('csv');
var skip = 100;
var limit = 10;
csv()
.from.path('file.csv')
.on('record', function(row, index) {
if (index >= skip && index < (skip + limit))
console.log('R', index);
});