有什么办法算不算的。 CSV文件中的空白行?

时间:2019-05-27 10:05:18

标签: javascript node.js

我使用过fast-csv模块,它只能忽略空行,但我需要计算空行。

    csv
    .fromPath(importFile.path, {
        headers: true,
        ignoreEmpty: true
    })
    .on("data", function(data) {
      console.log(data)
    })

1 个答案:

答案 0 :(得分:1)

从代码中我看到您已经到了一半。只需在顶部初始化一个count变量,然后在“数据”事件的回调中将数组中的行拆分,并根据需要检查行是否为空。

function getEmptyRows(csv){

    return new Promise((resolve, reject) => {

    let emptyRows = 0;

        csv
        .fromPath(importFile.path, {
            headers: true,
            ignoreEmpty: true
        })
        .on("data", (data) => {
            const lines = data.trim().split(/\s*[\r\n]+\s*/g);

            lines.forEach((line) => {
                if(line.match(/([^\s,])/)){
                    count++;
                }            
            });
        })
        .on('end', () => {
            return resolve(count);
        });
    });
}

您可以通过以下方式使用上面的功能-

getEmptyRows(csv).then((count) => {
    // do your operation...
});

// or as an async/await

async () => {
    const count = await getEmptyRows(csv);
    // do your operation...
}