Accueil > Documentation > Les balises XPX > CSV

CSV

La balise <csv> permet de traiter le contenu d'un fichier CSV (Comma-Separated Values).

La première ligne du fichier contient les noms des colonnes, les lignes suivantes contiennent les données. Les colonnes sont délimitées par un séparateur identique.

<csv file|value="..." [sep="..."] [name="..."] [header="nows|keepws|none"]>

file ou value représentent respectivement soit le chemin d'accès au fichier CSV, soit le contenu du fichier.

  • sep indique le séparateur (la valeur par défaut est ;)
  • name indique le préfixe a ajouter aux noms de colonnes.
  • header indique le mode de traitement de l'en-tête du fichier :
    • nows : suppression des espaces dans les noms de colonnes (défaut),
    • keepws : les espace des noms de colonnes sont préservés;
    • none : le fichier ne comporte pas d'en-tête, on commence directement avec des données

L'attribut header est apparu en version 4.0a21-19.

Le principe de fonctionnement est similaire aux requêtes SQL : le XPX boucle sur les lignes du fichier et initialise pour chaque ligne une variable portant le nom de la colonne.


Si nous avons un fichier de ce genre :

nom;prenom;dateNaiss
Hugo;Victor;26/02/1802
Verlaine;Paul;30/03/1844

Le code pour l'exploiter peut ressembler à ceci :

<table>
  <tr><th>Nom</th><th>Prénom</th>th><Date de naissance</th></tr>
  <csv file="auteurs.csv" name="MonCSV.">
    <tr>
      <td>$MonCSV.nom$</td>
      <td>$MonCSV.prenom$</td>
      <td>$MonCSV.dateNaiss$</td>
    </tr>
  </csv>
</table>

Variables CSV

Des variables sont automatiquement générées pour chaque requête CSV, elles vous donnent des informations sur l'état ou l'avancement de la requête.

$csvrowcount$ correspond au nombre de lignes du fichier.

$csvcolcount$ correspond au nombre de colonnes de la requête en cours.

$csvnumrow$ est le numéro de la ligne en cours de traitement (commence à 1).

$#[index]$ permet de récupérer le nom de la colonne N° index

Télécharger

Téléchargez rapidement la dernière version du XPX: Version 3.8-rc16 - 05/02/2019

FAQ

Venez nous poser vos questions et voir les problèmes courants que vous pouvez rencontrer

Don

Aidez-nous à faire vivre ce site en faisant un don

Condition d'utilisation