You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js使用fast-csv解析CSV时,如何跳过全零无效行

如何用fast-csv跳过CSV中的全零行?

要跳过CSV中的全零行,你可以在data事件回调里添加判断逻辑,检查当前行的所有单元格是否都是0(注意CSV解析后单元格是字符串类型,要匹配字符串'0'),如果是全零行就跳过,否则再将数据存入数组。

修改后的完整代码如下:

import { createReadStream } from "fs";
import * as pg from 'pg';
const { Pool } = pg.default;
import { parse } from "fast-csv";

const insertdata = async () => {
    let stream = createReadStream("./testfolder/test.csv");
    let csvData = [];
    let csvStream = parse()
        .on("data", function (data) {
            // 判断当前行是否为全零行:所有单元格去除前后空白后等于'0'
            const isAllZeroRow = data.every(cell => cell.trim() === '0');
            if (!isAllZeroRow) {
                csvData.push(data);
            }
        })
        .on("end", function () {
            // 移除表头行
            csvData.shift();
            // 此处可添加数据插入数据库的逻辑
        });

    stream.pipe(csvStream);
}

await insertdata();

export { insertdata }

关键说明:

  • 用Array.every()遍历当前行的所有单元格,搭配trim()处理可能存在的空白字符,确保准确识别全零行。
  • 若判定为全零行,直接跳过push操作,不将该行数据存入数组。

内容的提问来源于stack exchange,提问作者Roger Holland

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 01:07:37