Using powershell:
import-csv 1.csv | export-csv 2.csv -NoTypeInformation -Encoding UTF8
content of 1.csv will be stored as 2.csv with double quotes.
Using nodejs:
install modules:
npm install fs npm install csv-parse
Save below code as .js file:
const parse = require('csv-parse/lib/sync');
let fs = require("fs");
console.log("sourece File: " + process.argv[2]);
let input = fs.readFileSync(process.argv[2]);
let temp="";
const records = parse(input, {
columns: true,
skip_empty_lines: true
})
let data = "";
let length = Object.keys(records[0]).length;
let count = 0;
for (const property in records[0]) {
{
if (count === length - 1) {
data = data + `${property}\r\n`;
} else {
data = data + `${property},`;
}
};
++count
}
records.forEach(function(i, index) {
let count = 0;
let length = Object.keys(i).length;
for (const property in i) {
if (count === length - 1) {
if ((i[property]).includes('"')) {
temp=(i[property]).replace(/"/g,'""');
data = data + `"${temp}"\r\n`;
} else {
data = data + `"${i[property]}"\r\n`;
}
} else {
if ((i[property]).includes('"')) {
temp=(i[property]).replace(/"/g,'""');
data = data + `"${temp}",`;
} else {
data = data + `"${i[property]}",`;
}
}
count++
}
});
fs.writeFileSync(process.argv[3], data);
console.log("Destination File: " + process.argv[3]);
Run the programme:
node generator.js 1.csv 2.csv
Here the content of 1.csv will be stored as 2.csv with double quotes for each value.
Create a batch file and just double click it when ever you want to convert 1.csv to 2.csv