JavaScript:
Arbeide med CSV

Hvordan:

JavaScript har ikke innebygd CSV-parsing eller strengifisering funksjonalitet slik det har med JSON. Men, du kan enkelt håndtere CSV data ved å bruke enten rå JavaScript for enklere oppgaver eller dra nytte av kraftige biblioteker som PapaParse for mer komplekse scenarioer.

Enkel Parsing med Rå JavaScript

For å parse en enkel CSV-streng til et array av objekter:

const csv = `navn,alder,by
John,23,New York
Jane,28,Los Angeles`;

function parseCSV(csv) {
  const linjer = csv.split("\n");
  const resultat = [];
  const overskrifter = linjer[0].split(",");

  for (let i = 1; i < linjer.length; i++) {
    const obj = {};
    const gjeldendeLinje = linjer[i].split(",");
    
    for (let j = 0; j < overskrifter.length; j++) {
      obj[overskrifter[j]] = gjeldendeLinje[j];
    }
    resultat.push(obj);
  }
  
  return resultat;
}

console.log(parseCSV(csv));

Output:

[
  { navn: 'John', alder: '23', by: 'New York' },
  { navn: 'Jane', alder: '28', by: 'Los Angeles' }
]

Enkel Generering til CSV med Rå JavaScript

For å konvertere et array av objekter til en CSV-streng:

const data = [
  { navn: 'John', alder: 23, by: 'New York' },
  { navn: 'Jane', alder: 28, by: 'Los Angeles' }
];

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

console.log(arrayToCSV(data));

Output:

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

Bruk av PapaParse for Komplekse CSV Oppgaver

For mer komplekse scenarioer er PapaParse et robust bibliotek egnet for parsing og strengifisering av CSV-filer med alternativer for strømmer, arbeidere og håndtering av store filer.

Parsing av CSV-fil eller -streng med PapaParse:

// Etter å ha lagt til PapaParse i prosjektet ditt
const Papa = require('papaparse');
const csv = `navn,alder,by
John,23,New York
Jane,28,Los Angeles`;

Papa.parse(csv, {
  complete: function(results) {
    console.log("Parsed:", results.data);
  }
});

Genererer:

Parsed: [
  ["navn", "alder", "by"],
  ["John", "23", "New York"],
  ["Jane", "28", "Los Angeles"]
]

Strengifisering av et array til en CSV-streng med PapaParse:

const data = [
  { navn: 'John', alder: 23, by: 'New York' },
  { navn: 'Jane', alder: 28, by: 'Los Angeles' }
];

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

Generer:

navn,alder,by
John,23,New York
Jane,28,Los Angeles

Disse eksemplene illustrerer grunnleggende og avansert håndtering av CSV i JavaScript, som muliggjør enkel datautveksling i webapplikasjoner og videre.