CSVParser : dans le champ d’application
L’API CSVParser fournit des méthodes d’analyse des enregistrements au format CSV (valeurs séparées par des virgules) dans un objet ou un tableau.
Cette API s’exécute dans l’espace de noms sn_impex .
CSVParser : parseLineToArray(String cvsLine, String delimiter, String quoteCharacter)
Analyse le contenu transmis au format CSV dans un tableau.
| Nom | Type | Description |
|---|---|---|
| csvLine | Chaîne | Contenu CSV à analyser. |
| délimiteur | Chaîne | Facultatif. Caractère utilisé pour délimiter les champs dans le contenu CSV source. Par défaut : virgule « , » |
| quoteCharacter | Chaîne | Facultatif. Caractère utilisé comme caractère de citation dans le contenu CSV source. Par défaut : guillemet double '"' |
| Type | Description |
|---|---|
| Tableau | Tableau contenant les valeurs analysées pour chaque élément du contenu CSV transmis. Par exemple : |
Cet exemple montre du contenu simple au format CSV analysé dans un tableau renvoyé.
var csvLine = '\"Joe\",\"Smith\",\"1470 W Carmen, Chicago IL, 60640\"';
var delimiter = ',';
var quoteCharacter = '"';
var x = new sn_impex.CSVParser().parseLineToArray(csvLine, delimiter, quoteCharacter);
gs.log(x[0]);
gs.log(x[1]);
gs.log(x[2]);
Sortie :
Joe
Smith
1470 W Carmen, Chicago IL, 60640
CSVParser : parseLineToObject(Chaîne cvsLine, en-têtes de tableau, délimiteur de chaîne, chaîne quoteCharacter)
Analyse le contenu passé au format CSV dans un objet.
| Nom | Type | Description |
|---|---|---|
| csvLine | Chaîne | Contenu CSV à analyser. |
| en-têtes | Tableau de chaînes | En-têtes associés au contenu CSV. Ces en-têtes doivent être spécifiés dans le même ordre que le contenu correspondant dans csvLine. Par exemple, var headers = ['first_name', 'last_name', 'adresse'] ; |
| délimiteur | Chaîne | Facultatif. Caractère utilisé pour délimiter les champs dans le contenu CSV source. Par défaut : virgule « , » |
| quoteCharacter | Chaîne | Facultatif. Caractère utilisé comme caractère de citation dans le contenu CSV source. Par défaut : guillemet double '"' |
| Type | Description |
|---|---|
| Objet | Objet contenant l’en-tête et la valeur correspondante pour chaque élément du contenu CSV transmis. Par exemple : |
Cet exemple montre du contenu au format CSV analysé dans un objet renvoyé.
var csvLine = '\"Joe\",\"Smith\",\"1470 W Carmen, Chicago IL, 60640\"';
var headers = ['first_name', 'last_name', 'address'];
var delimiter = ',';
var quoteCharacter = '"';
var x = new sn_impex.CSVParser().parseLineToObject(csvLine, headers, delimiter, quoteCharacter);
gs.log(x.first_name);
gs.log(x.last_name);
gs.log(x.address);
Sortie :
Joe
Smith
1470 W Carmen, Chicago IL, 60640
Cet exemple montre une réponse d’exception en raison d’une transmission non valide du paramètre d’en-tête.
var csvLine = '\"Joe\",\"Smith\",\"1470 W Carmen, Chicago IL, 60640\"';
var headers = null;
var delimiter = ',';
var quoteCharacter = '"';
try {
var x = new sn_impex.CSVParser().parseLineToObject(csvLine, headers, delimiter, quoteCharacter);
gs.log(x.first_name);
gs.log(x.last_name);
gs.log(x.address);
}
catch(ex) {
gs.info(ex.message);
}
Sortie :
CSVParser: Header list is empty: no thrown error
*** Script: CSVParser: Header list is empty