// (A) LOAD MODULES // npm install csv-stringify csv-parser // https://www.npmjs.com/package/csv-stringify // https://www.npmjs.com/package/csv-parser const fs = require("fs"), csvp = require("csv-parser"), csvs = require("csv-stringify"); // (B) READ CSV FILE var rows = []; fs.createReadStream("x-dummy.csv") .pipe(csvp({ headers : false })) .on("data", data => rows.push(data)) .on("end", () => { // (C) REARRANGE TO FLAT ARRAY rows.forEach((r,i) => rows[i] = Object.values(r)); // (D) INSERT AT EXACT ROW rows.splice(3, 0, ["E", "F"]); // (E) SEARCH & INSERT AT ROW let at = null; for (let [i,r] of Object.entries(rows)) { if (r.includes("Jou Doe")) { at = i; break; } } if (at !== null) { rows.splice(at, 0, ["G", "H"]); } // (F) WRITE csvs.stringify(rows, (err, output) => { fs.writeFileSync("x-dummy.csv", output); console.log("OK"); }); });