【发布时间】:2016-09-20 16:20:55
【问题描述】:
我已经使用 Node JS 下载了一个 CSV。
希望从 csv 中修剪前 4 行和后 3 行。 (摘要行)
所有当前模块仅提供跳过标题的功能。 该脚本将每天运行一次,并且 csv 的长度会发生变化,而修剪要求不会。
【问题讨论】:
我已经使用 Node JS 下载了一个 CSV。
希望从 csv 中修剪前 4 行和后 3 行。 (摘要行)
所有当前模块仅提供跳过标题的功能。 该脚本将每天运行一次,并且 csv 的长度会发生变化,而修剪要求不会。
【问题讨论】:
因为您正在修剪“底部”行(并且您不知道文件有多长),所以您需要缓冲整个文件。虽然使用核心 readline 很容易做到这一点。
const readline = require('readline');
const fs = require('fs');
const lineread = readline.createInterface({
input: fs.createReadStream('file.csv'),
});
let lines = [];
lineread.on('line', line => lines.push(line) );
lines = lines.slice( 4, lines.length-2 ); // slice(start,end)
现在您已经全部完成,只需将其发送到您的 CSV 解析器库即可。
【讨论】: