2

I have an array of text lines in JavaScript inside variable named "dataArray":

[
  'freq[Hz];re:Trc1_S11;im:Trc1_S11;re:Trc2_S21;im:Trc2_S21;',
  '2.400000000000000E+009;1.548880785703659E-001;1.067966520786285E-001;1.141964457929134E-003;5.855074618011713E-003;',
  '2.400166666666667E+009;1.546109169721603E-001;1.043454632163048E-001;1.287244027480483E-003;5.807569250464439E-003;',
  '2.400333333333334E+009;1.546102017164230E-001;1.018797382712364E-001;1.497663557529450E-003;5.986513104289770E-003;',
  '2.400500000000000E+009;1.545133888721466E-001;9.928287565708160E-002;1.647840370424092E-003;5.912321619689465E-003;',
  '2.400666666666667E+009;1.544111520051956E-001;9.671460092067719E-002;1.589289400726557E-003;5.917594302445650E-003;',
  ...
]

First line contains headers, and other lines contain data.

I need to write this into .csv file and store that file. How can I do this (I'm using Node.js)?

2

1 Answer 1

6

First i converte the array to a valid csv data, for that i replace all ; with ,

Then i join all entries together with a newline (csv.join("\r\n")) and write it to a file.

const fs = require("fs");

const data = [
    'freq[Hz];re:Trc1_S11;im:Trc1_S11;re:Trc2_S21;im:Trc2_S21;',
    '2.400000000000000E+009;1.548880785703659E-001;1.067966520786285E-001;1.141964457929134E-003;5.855074618011713E-003;',
    '2.400166666666667E+009;1.546109169721603E-001;1.043454632163048E-001;1.287244027480483E-003;5.807569250464439E-003;',
    '2.400333333333334E+009;1.546102017164230E-001;1.018797382712364E-001;1.497663557529450E-003;5.986513104289770E-003;',
    '2.400500000000000E+009;1.545133888721466E-001;9.928287565708160E-002;1.647840370424092E-003;5.912321619689465E-003;',
    '2.400666666666667E+009;1.544111520051956E-001;9.671460092067719E-002;1.589289400726557E-003;5.917594302445650E-003;'
];


const csv = data.map((e) => {
    return e.replace(/;/g, ",");
});



fs.writeFile("./data.csv", csv.join("\r\n"), (err) => {
    console.log(err || "done");
});

0

Not the answer you're looking for? Browse other questions tagged or ask your own question.