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.