Parseur CSV
* 
La prise en charge par PTC de l'extension CSV Parser de ThingWorx a pris fin et cette extension n'est plus disponible en téléchargement sur le portail de téléchargement de PTC. Le partenaire de PTC Free ThingWorx Widgets | IQNOX assurera la prise en charge de cette extension et en fournira les versions de maintenance à venir. Pour plus d'informations, consultez cet article de support de PTC.
Un fichier CSV (comma-separated values) stocke des données tabulaires (des valeurs numériques et du texte) sous forme de texte brut. Avec l'extension Parseur CSV de ThingWorx, analysez et manipulez des fichiers CSV dans ThingWorx. Cela vous permet d'importer des données CSV et de les stocker dans ThingWorx ou de simplement le considérer comme un magasin de données et d'extraire de la valeur supplémentaire à partir des données CSV. Pour utiliser l'extension Parseur CSV, téléchargez et importez l'archive CSVParser_Extensions.zip dans ThingWorx. Le package importe le ou les éléments suivants dans ThingWorx :
Ressource CSVParserFunctions
Pour plus d'informations sur l'utilisation de l'extension de parseur CSV, consultez cet article.
* 
Il est recommandé d'encoder les fichiers d'importation en UTF-8.
Services
La fonctionnalité de parseur CSV se trouve dans l'onglet Extraits avec les services suivants :
GetCSVFile : ce service analyse un fichier CSV à partir d'une requête HTTP GET (le résultat de sortie est une table d'informations). Il dispose des paramètres configurables suivants :
header (en-têtes HTTP)
fieldDelimiter (séparateur de champ)
ignoreSSLErrors (ignorer les erreurs de certification SSL)
columnMappings (mappages de colonne)
hasHeader (le fichier CSV a une ligne d'en-tête)
latitudeField (index du champ de latitude)
password (mot de passe associé à l'URL)
url (URL)
longitudeField (index du champ de longitude)
username (nom d'utilisateur associé à l'URL)
stringDelimiter (séparateur de valeur texte)
dateFormat (format date/heure)
dataShape (forme de données)
timeout (délai d'attente facultatif en secondes)
GetOrderedFieldOutput : ce service renvoie une liste d'exportations de données (le résultat de sortie est une table d'informations). Il dispose des paramètres configurables suivants :
orderedFieldList (la table d'informations à utiliser en tant que source)
inputInfotable (une liste CSV classée des champs devant être renvoyée depuis la table d'entrées)
ParseCSVFile :
ce service analyse un fichier CSV à partir d'un texte (le résultat de sortie est une table d'informations). Il dispose des paramètres configurables suivants :
content (contenu)
fieldDelimiter (séparateur de champ)
columnMappings (mappages de colonne)
hasHeader (le fichier a une ligne d'en-tête)
latitudeField (index du champ de latitude)
longitudeField (index du champ de longitude)
stringDelimiter (séparateur de valeur texte)
dateFormat (format date/heure)
dataShape (forme de données)
ReadCSVFile : ce service analyse un fichier CSV à partir d'un référentiel (le résultat de sortie est une table d'informations). Il dispose des paramètres configurables suivants :
path (chemin d'accès au fichier)
fieldDelimiter (séparateur de champ)
columnMappings (mappages de colonne)
hasHeader (le fichier a une ligne d'en-tête)
latitudeField (index du champ de latitude)
longitudeField (index du champ de longitude)
stringDelimiter (séparateur de valeur texte)
dateFormat (format date/heure)
dataShape (forme de données)
WriteCSVFile : ce service génère un fichier CSV dans un référentiel. Il dispose des paramètres configurables suivants :
data (données de la table d'informations)
path (chemin d'accès au fichier)
fileRepository (nom du référentiel de fichiers)
withHeader (utiliser les en-têtes pour les noms de colonne)
Exemple : ReadCSV
Dans l'exemple suivant, une forme de données nommée ds1 est définie avec deux champs de type chaîne.
var params = {
path: "test5.csv" /* STRING */,
columnMappings: undefined /* STRING */,
hasHeader: undefined /* BOOLEAN */,
longitudeField: undefined /* NUMBER */,
dateFormat: undefined /* STRING */,
fileRepository: "SystemRepository" /* THINGNAME */,
latitudeField: undefined /* NUMBER */,
fieldDelimiter: undefined /* STRING */,
stringDelimiter: undefined /* STRING */,
dataShape: "ds1" /* DATASHAPENAME */
};

// result: INFOTABLE
var result = Resources["CSVParserFunctions"].ReadCSVFile(params);
WriteCSV

var params = {
infoTableName : "InfoTable",
dataShapeName : "ds1"
};
// CreateInfoTableFromDataShape(infoTableName:STRING("InfoTable"), dataShapeName:STRING):INFOTABLE(ds1)
var result = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
var newRow = new Object();
newRow.firstfield = "FirstFieldValue";
newRow.secondfield = "SecondFieldValue";
//infotable1Object.rows[0] = newRow;
result.AddRow(newRow);
var params2 = {
path: "test4.csv" /* STRING */,
data: result /* INFOTABLE */,
fileRepository: "SystemRepository" /* THINGNAME */,
withHeader: undefined /* BOOLEAN */
};
// no return
var result = Resources["CSVParserFunctions"].WriteCSVFile(params2);
Est-ce que cela a été utile ?