Le format de fichier CSV (Comma Separated Values) est un moyen répandu d’échange de données entre applications..
Dans cette astuce, nous allons apprendre comment JavaScript peut nous aider à visualiser les données d'un fichier CSV..
Pour commencer, créons un fichier CSV simple. Pour ce faire, nous allons tirer parti de Mockaroo, un générateur de données de test en ligne. Voici notre dossier:
Maintenant que nous avons généré le fichier, nous sommes prêts à l'analyser et à construire un tableau HTML associé..
Dans un premier temps, nous utiliserons jQuery ajax
fonction pour récupérer les données de ce fichier:
$ .ajax (url: 'csv_data.csv', dataType: 'text',). done (successFunction);
En supposant que la demande AJAX aboutisse, le successFunction
est exécuté. Cette fonction est chargée d’analyser les données renvoyées et de les transformer en tableau HTML:
function successFunction (data) var allRows = data.split (/ \ r? \ n | \ r /); var table = '
'; table + = rowCells [rowCell]; table + = ' | '; else table + = ''; table + = rowCells [rowCell]; table + = ' | '; if (singleRow === 0) table + = '
---|
L'idée est donc de convertir chacune des lignes CSV en une ligne de table. Dans cet esprit, expliquons brièvement le fonctionnement du code ci-dessus:
De plus, pour mieux comprendre ce code, considérons la visualisation suivante:
À ce stade, il est important de préciser pourquoi nous avons utilisé le / \ r? \ n | \ r /
regex pour diviser les lignes CSV.
Comme vous le savez probablement déjà, il existe différentes représentations d'une nouvelle ligne selon les systèmes d'exploitation. Par exemple, sur les plateformes Windows, les caractères représentant une nouvelle ligne sont \ r \ n
. Cela dit, en utilisant l'expression rationnelle ci-dessus, nous sommes en mesure de faire correspondre toutes les représentations possibles..
De plus, la plupart des éditeurs de texte nous permettent de choisir le format d’une nouvelle ligne. Prenez, par exemple, Notepad ++. Dans cet éditeur, nous pouvons spécifier le format souhaité pour un document en allant sur ce chemin:
Pour illustrer cela, considérons notre fichier. Selon le format que nous choisissons, cela ressemblerait à ceci:
Avant d'examiner le tableau résultant, ajoutons quelques styles de base:
table margin: 0 auto; text-align: center; effondrement de la bordure: effondrement; bordure: 1px solide # d4d4d4; tr: nième enfant (pair) background: # d4d4d4; th, td padding: 10px 30px; th border-bottom: 1px solid # d4d4d4;
Voici le tableau généré:
Dans ce court article, nous avons suivi le processus de conversion d'un fichier CSV en un tableau HTML. Bien sûr, nous aurions pu utiliser un outil Web pour cette conversion, mais je pense qu'il est toujours plus difficile d'y parvenir en écrivant votre propre code..