'Merge multipesCSV into one javascript node.js
Someone could help me ? I have to merge multiples csv files into one single csv file.
The csv files have the same header.
I'm using node.js and javascript.
Thank you
Solution 1:[1]
Some basic string manipulation will do well.
const fs = require("fs");
const path = require("path");
// get paths to file
const file1 = path.join(__dirname, "path/to/file1.csv"),
file2 = path.join(__dirname, "path/to/file2.csv");
// read the csv files
const csv1 = fs.readFileSync(file1),
csv2 = fs.readFileSync(file2);
// split the second csv by a new line then remove the first line (remove the header)
const [, ...rest] = csv2.split("\n");
const result = csv1 + rest.join("\n"); // combine csv
fs.writeFileSync(path.join(__dirname, "output.csv"), result); // write result to file
You can also do this dynamically:
// let's pretend you have an array of all the CSV text that you read from the file system named 'csv'
for(let i = 1; i < csv.length; i++) {
const [, ...spl] = csv[i].split("\n");
// instead of doing [, ...spl] we could also call: spl.shift();
csv[i] = spl.join("\n");
}
const result = csv.join("\n"); // our combined csv
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |
