i want to convert a .csv file and write a new one. However I am not able to remove the first , i am kinda stuck here and it is driving me crazy. This is my code:
var extractedtasks = tasks.slice(0, 3)
var extractedtasksformated = extractedtasks.toString().replace(/,$/g, "n")
let csvformat = "EMAIL,PASSWORD,MAILBOX"
fs.writeFileSync(tasklocation[0], csvformat + "n" + extractedtasksformated.replace(/,^/g,
""))
console.log(chalk.green("Successfully updated the CSV file"))
That’s the output i am getting in the newly generated file
EMAIL,PASSWORD,MAILBOX example1@gmail.com,Password123,example@gmail.com:password ,example2@gmail.com,Password123,example@gmail.com:password ,example3@gmail.com,Password123,example@gmail.com:password
Output extractedtasks:
[ 'example1@gmail.com,Password123,example@gmail.com:passwordr', 'example2@gmail.com,Password123,example@gmail.com:passwordr', 'example3@gmail.com,Password123,example@gmail.com:passwordr' ]
Output extractedtasksformated:
,example3@gmail.com,Password123,example@gmail.com:passwordxample@gmail.com:password
Advertisement
Answer
Because extractedtasks is an array, instead of converting it to a string you should just join it with the expected separator:
extractedtasks = [
'example1@gmail.com,Password123,example@gmail.com:passwordr',
'example2@gmail.com,Password123,example@gmail.com:passwordr',
'example3@gmail.com,Password123,example@gmail.com:passwordr'
]
extractedtasksJoined = extractedtasks.join("n")
// "example1@gmail.com,Password123,example@gmail.com:passwordrnexample2@gmail.com..."
// depending on the target line separator, you should also probably
// remove the "r"
extractedtasksJoined = extractedtasksJoined.replace("r", "")
// finally
fs.writeFileSync(tasklocation[0], csvformat + "n" + extractedtasksJoined + "n")