CSV-Parser
|
PTC Support für die CSV Parser-Erweiterung von ThingWorx wurde beendet, und die Erweiterung steht nicht mehr im Download-Portal von PTC zum Herunterladen zur Verfügung. Der PTC Partner Free ThingWorx Widgets | IQNOX bietet Support und eine zukünftige Wartungsversion für diese Erweiterung. Weitere Informationen finden Sie im Support-Artikel von PTC.
|
Eine Datei mit kommagetrennten Werten (Comma-Separated Values, CSV) speichert Tabellendaten (Zahlen und Text) als Klartext. Mit der ThingWorx CSV-Parser-Erweiterung können Sie CSV-Dateien in ThingWorx parsen und bearbeiten. Dies ermöglicht es Ihnen, CSV-Daten zu importieren und in ThingWorx zu speichern oder es als reinen Datenspeicher zu verwenden und einen Mehrwert aus den CSV-Daten zu extrahieren. Um die CSV-Parser-Erweiterung zu verwenden, laden Sie die CSVParser_Extensions.zip herunter, und importieren Sie sie in ThingWorx. Das Paket importiert Folgendes in ThingWorx:
• Ressource CSVParserFunctions
Weitere Informationen zur Verwendung der CSV-Parser-Erweiterung finden Sie in
diesem Artikel.
|
Es wird empfohlen Importdateien als UTF-8 zu codieren.
|
Dienste
Die CSV-Parser-Funktionalität ist in der Dienstregisterkarte "Ausschnitte" mit den folgenden Diensten vorhanden:
• GetCSVFile: Dieser Dienst parst eine CSV-Datei aus einem HTTP GET (Ausgabeergebnis ist Infotable). Er hat die folgenden konfigurierbaren Parameter:
◦ header (HTTP-Kopfzeilen)
◦ fieldDelimiter (Feldtrennzeichen)
◦ ignoreSSLErrors (SSL-Zertifizierungsfehler ignorieren)
◦ columnMappings (Spaltenzuordnungen)
◦ hasHeader (CSV-Datei mit Kopfzeile)
◦ latitudeField (Breitengrad-Feldindex)
◦ password (URL-Passwort)
◦ url (URL)
◦ longitudeField (Längengrad-Feldindex)
◦ username (URL-Benutzername)
◦ stringDelimiter (Zeichenfolgenwert-Trennzeichen)
◦ dateFormat (Datums-/Zeitformat)
◦ dataShape (Data Shape)
◦ timeout (optionales Timeout in Sekunden)
• GetOrderedFieldOutput: Dieser Dienst gibt eine Liste von Datenexporten zurück (Ausgabeergebnis ist Infotable). Er hat die folgenden konfigurierbaren Parameter:
◦ orderedFieldList (als Quelle zu verwendende Infotable)
◦ inputInfotable (geordnete CSV-Liste der Felder, die aus der Eingabetabelle zurückgegeben werden sollen)
• ParseCSVFile:
Dieser Dienst parst eine CSV-Datei aus Text (Ausgabeergebnis ist Infotable). Er hat die folgenden konfigurierbaren Parameter:
◦ content (Inhalt)
◦ fieldDelimiter (Feldtrennzeichen)
◦ columnMappings (Spaltenzuordnungen)
◦ hasHeader (Datei mit Kopfzeile)
◦ latitudeField (Breitengrad-Feldindex)
◦ longitudeField (Längengrad-Feldindex)
◦ stringDelimiter (Zeichenfolgenwert-Trennzeichen)
◦ dateFormat (Datums-/Zeitformat)
◦ dataShape (Data Shape)
• ReadCSVFile: Dieser Dienst parst eine CSV-Datei aus einem Repository (Ausgabeergebnis ist Infotable). Er hat die folgenden konfigurierbaren Parameter:
◦ path (Pfad zu Datei)
◦ fieldDelimiter (Feldtrennzeichen)
◦ columnMappings (Spaltenzuordnungen)
◦ hasHeader (Datei mit Kopfzeile)
◦ latitudeField (Breitengrad-Feldindex)
◦ longitudeField (Längengrad-Feldindex)
◦ stringDelimiter (Zeichenfolgenwert-Trennzeichen)
◦ dateFormat (Datums-/Zeitformat)
◦ dataShape (Data Shape)
• WriteCSVFile: Dieser Dienst schreibt eine CSV-Datei in ein Repository. Er hat die folgenden konfigurierbaren Parameter:
◦ data (Infotable-Daten)
◦ path (Pfad zu Datei)
◦ fileRepository (Datei-Repository-Name)
◦ withHeader (Kopfzeilen für Spaltennamen verwenden)
Beispiel: ReadCSV
Im folgenden Beispiel ist das Data Shape als DS1 mit zwei Zeichenfolgenfeldern definiert.
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);