Convertir des données CSV en tableau JavaScript
Concept et utilisation
La fonction arrayFromSV()
permet de convertir un CSV en tableau de données JavaScript ("Array").
Il est possible de spécifier le jeu de données ainsi que les séparateurs de données.
Fonction
arrayFromSV()
Retourne un tableau JavaScript (
Array
) à partir d'un tableau de données CSV.- Syntaxe
arrayFromSV(donnees, options);
- Paramètres
donnees
(String)Le paramètre
donnees
de la fonctionarrayFromSV()
définit un tableau de données sous forme de chaine (par exemple, CSV) à convertir en tableau de données JavaScript.options
(Object)Le paramètre
options
de la fonctionarrayFromSV()
définit les séparateurs de données.- Propriétés
lineDelimiter
(String)columnDelimiter
(String)columnQuote
(String)
Exemple de conversion d'un tableau CSV en tableau JavaScript
var donnees = `Ligne 1, colonne 1;Ligne 1, colonne 2
Ligne 2, colonne 1;Ligne 2, colonne 2`;
var options = {
lineDelimiter: '\n',
columnDelimiter: ';',
columnQuote: "'"
};
arrayFromSV(donnees, options);
// renvoie : [
// ['Ligne 1, colonne 1', 'Ligne 1, colonne 2'],
// ['Ligne 2, colonne 1', 'Ligne 2, colonne 2']
// ]
Code source de la fonction
function arrayFromSV(a, b) {
b = b || {};
var c = b.columnDelimiter || ',',
d = b.columnQuote || "'",
e = a.split(b.lineDelimiter || '\n'),
f = e[0].split(c),
g = f.length,
h = [];
e.map(function(i) {
var j = false,
k = [],
l = [],
m = 0;
i.split('').forEach(function (n) {
if (n === d) {
j = !j;
} else {
if (n === c && !j) {
l.push(k.join(''));
k = [];
m++;
if (m === g) {
m = 0;
}
} else {
k.push(n);
}
}
});
l.push(k.join(''));
h.push(l);
});
return h;
}
Dernière mise à jour le .