JavaScript:
Työskentely CSV:n kanssa

Miten:

JavaScriptissä ei ole sisäänrakennettua CSV:n jäsentämisen tai merkkijonoksi muuttamisen toiminnallisuutta kuten JSON:ssa. Voit kuitenkin käsitellä CSV-dataa helposti joko käyttämällä raakaa JavaScriptiä yksinkertaisempiin tehtäviin tai hyödyntämällä tehokkaita kirjastoja, kuten PapaParse, monimutkaisemmissa skenaarioissa.

Perusjäsentäminen raakalla JavaScriptillä

CSV-merkkijonon jäsentäminen taulukoksi objekteja:

const csv = `nimi,ikä,kaupunki
John,23,New York
Jane,28,Los Angeles`;

function parseCSV(csv) {
  const rivit = csv.split("\n");
  const tulos = [];
  const otsikot = rivit[0].split(",");

  for (let i = 1; i < rivit.length; i++) {
    const obj = {};
    const nykyinenRivi = rivit[i].split(",");
    
    for (let j = 0; j < otsikot.length; j++) {
      obj[otsikot[j]] = nykyinenRivi[j];
    }
    tulos.push(obj);
  }
  
  return tulos;
}

console.log(parseCSV(csv));

Tuloste:

[
  { nimi: 'John', ikä: '23', kaupunki: 'New York' },
  { nimi: 'Jane', ikä: '28', kaupunki: 'Los Angeles' }
]

Perusluonti CSV:ksi raakalla JavaScriptillä

Objektien taulukon muuntaminen CSV-merkkijonoksi:

const data = [
  { nimi: 'John', ikä: 23, kaupunki: 'New York' },
  { nimi: 'Jane', ikä: 28, kaupunki: 'Los Angeles' }
];

function arrayToCSV(arr) {
  const csv = arr.map(rivi => 
    Object.values(rivi).join(',')
  ).join('\n');
  
  return csv;
}

console.log(arrayToCSV(data));

Tuloste:

John,23,New York
Jane,28,Los Angeles

PapaParse’n käyttö monimutkaisissa CSV-tehtävissä

Monimutkaisissa skenaarioissa PapaParse on vankka kirjasto, joka soveltuu CSV-tiedostojen jäsentämiseen ja merkkijonoksi muuttamiseen, tarjoten vaihtoehtoja suoratoistolle, työntekijöille ja suurten tiedostojen käsittelyyn.

CSV-tiedoston tai -merkkijonon jäsentäminen PapaParsella:

// Kun olet lisännyt PapaParse-projektiisi
const Papa = require('papaparse');
const csv = `nimi,ikä,kaupunki
John,23,New York
Jane,28,Los Angeles`;

Papa.parse(csv, {
  complete: function(tulokset) {
    console.log("Jäsennetty:", tulokset.data);
  }
});

Tuottaa:

Jäsennetty: [
  ["nimi", "ikä", "kaupunki"],
  ["John", "23", "New York"],
  ["Jane", "28", "Los Angeles"]
]

Merkkijonon muuntaminen CSV-merkkijonoksi PapaParsella:

const data = [
  { nimi: 'John', ikä: 23, kaupunki: 'New York' },
  { nimi: 'Jane', ikä: 28, kaupunki: 'Los Angeles' }
];

console.log(Papa.unparse(data));

Luo:

nimi,ikä,kaupunki
John,23,New York
Jane,28,Los Angeles

Nämä esimerkit havainnollistavat perus- ja edistyneen tason CSV-käsittelyä JavaScriptillä, mahdollistaen helpon datan vaihdon web-sovelluksissa ja niiden ulkopuolella.