ThingWorx の拡張性 > 拡張機能 > CSV パーサー
CSV パーサー
コンマ区切り値 (CSV) ファイルには、表形式のデータ (数字とテキスト) がプレーンテキスト形式で格納されます。ThingWorx CSV パーサー拡張機能により、ThingWorx 内の CSV ファイルの解析および操作を行います。これによって、CSV データを ThingWorx にインポートして格納したり、単なるデータストアとして扱って CSV データからその他の値を抽出したりできます。CSV パーサー拡張機能を使用するには、CSVParser_Extensions.zip をダウンロードして ThingWorx にインポートします。パッケージにより、次のものが ThingWorx にインポートされます。
CSVParserFunctions リソース
* 
インポートファイルには UTF-8 エンコードの使用をお勧めします。
* 
CSV パーサー拡張機能は、 support.ptc.com「ソフトウェアのダウンロード」 > 「ソフトウェアアップデートのご注文またはダウンロード」 > 「ThingWorx Foundation」 > 「Release <最新バージョン>」 > 「ThingWorx CSV Parser」 > 「最新の製造コード」 > 「CSV-Parser-Extensions」から入手できます。
サービス
CSV パーサー機能は、サービスの「スニペット」タブにあり、以下のサービスを含みます。
GetCSVFile: このサービスは HTTP GET から CSV ファイルを解析します (出力結果は Infotable)。次の設定可能なパラメータがあります。
header (HTTP ヘッダー)
fieldDelimiter (フィールドの区切り記号)
ignoreSSLErrors (SSL 証明書のエラーを無視)
columnMappings (列マップ)
hasHeader (CSV ファイルにヘッダー行あり)
latitudeField (緯度フィールドインデックス)
password (URL パスワード)
url (URL)
longitudeField (経度フィールドインデックス)
username (URL のユーザー名)
stringDelimiter (文字列値の区切り記号)
dateFormat (日付/時刻形式)
dataShape (データシェイプ)
timeout (オプションタイムアウトの秒数)
GetOrderedFieldOutput: このサービスはデータのエクスポートのリストを返します (出力結果は Infotable)。次の設定可能なパラメータがあります。
orderedFieldList (ソースとして使用する Infotable)
inputInfotable (入力テーブルから返されるフィールドの順序付けられた CSV リスト)
ParseCSVFile:
このサービスは、テキストから CSV ファイルを解析します (出力結果は Infotable)。次の設定可能なパラメータがあります。
content (コンテンツ)
fieldDelimiter (フィールドの区切り記号)
columnMappings (列マップ)
hasHeader (ファイルにヘッダー行あり)
latitudeField (緯度フィールドインデックス)
longitudeField (経度フィールドインデックス)
stringDelimiter (文字列値の区切り記号)
dateFormat (日付/時刻形式)
dataShape (データシェイプ)
ReadCSVFile: このサービスはリポジトリから CSV ファイルを解析します(出力結果は Infotable)。次の設定可能なパラメータがあります。
path (ファイルのパス)
fieldDelimiter (フィールドの区切り記号)
columnMappings (列マップ)
hasHeader (ファイルにヘッダー行あり)
latitudeField (緯度フィールドインデックス)
longitudeField (経度フィールドインデックス)
stringDelimiter (文字列値の区切り記号)
dateFormat (日付/時刻形式)
dataShape (データシェイプ)
WriteCSVFile: このサービスはリポジトリに CSV ファイルを書き込みます。次の設定可能なパラメータがあります。
data (Infotable データ)
path (ファイルのパス)
fileRepository (ファイルリポジトリ名)
withHeader (列名にヘッダーを使用)
例: ReadCSV
次の例では、データシェイプが 2 つの文字列フィールドを持つ ds1 として定義されます。
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);