ThingWorx 扩展性 > 扩展 > CSV 解析器
CSV 解析器
* 
PTC 已不再支持 ThingWorx CSV 解析器扩展,PTC 下载门户也不再提供此扩展的下载服务。PTC 合作伙伴 Free ThingWorx Widgets | IQNOX 将为此扩展提供支持并于未来发布维护版本。有关详细信息,请参阅 PTC 支持文章
逗号分隔值 (CSV) 文件以纯文本形式存储表格数据 (数字和文本)。使用 ThingWorx CSV 解析器扩展可在 ThingWorx 内解析和操控 CSV 文件。这样可供您导入 CSV 数据,并将其存储在 ThingWorx 中,或者仅将其视为数据存储,并从 CSV 数据中提取附加值。要使用 CSV 解析器扩展,请下载 CSVParser_Extensions.zip 并将其导入到 ThingWorx 中。该包将以下内容导入到 ThingWorx 中:
CSVParserFunctions 资源
有关使用 CSV 解析器扩展的详细信息,请参阅本文章
* 
建议导入文件采用 UTF-8 编码。
服务
CSV 解析器功能位于具有下列服务的服务“片段”选项卡中:
GetCSVFile:该服务从 HTTP GET 解析 CSV 文件 (输出结果为信息表)。它具有以下可配置参数:
header (Http 标题)
fieldDelimiter (字段分隔符)
ignoreSSLErrors (忽略 SSL 认证错误)
columnMappings (列映射)
hasHeader (CSV 文件具有标题行)
latitudeField (“纬度”字段索引)
password (URL 密码)
url (URL)
longitudeField (“经度”字段索引)
username (URL 用户名)
stringDelimiter (字符串值分隔符)
dateFormat (日期时间格式)
dataShape (数据形状)
timeout (可选超时,以秒为单位)
GetOrderedFieldOutput:该服务将返回一个数据导出列表 (输出结果为信息表)。它具有以下可配置参数:
orderedFieldList (信息表用作源)
inputInfotable (将从输入表返回的字段的有序 CSV 列表)
ParseCSVFile
该服务会从文本解析 CSV 文件 (输出结果为信息表)。它具有以下可配置参数:
content (内容)
fieldDelimiter (字段分隔符)
columnMappings (列映射)
hasHeader (文件具有标题行)
latitudeField (“纬度”字段索引)
longitudeField (“经度”字段索引)
stringDelimiter (字符串值分隔符)
dateFormat (日期时间格式)
dataShape (数据形状)
ReadCSVFile:该服务会从信息库解析 CSV 文件 (输出结果为信息表)。它具有以下可配置参数:
path (文件路径)
fieldDelimiter (字段分隔符)
columnMappings (列映射)
hasHeader (文件具有标题行)
latitudeField (“纬度”字段索引)
longitudeField (“经度”字段索引)
stringDelimiter (字符串值分隔符)
dateFormat (日期时间格式)
dataShape (数据形状)
WriteCSVFile:该服务会将 CSV 文件写入到信息库。它具有以下可配置参数:
data (信息表数据)
path (文件路径)
fileRepository (文件信息库名称)
withHeader (将标题用作列名)
示例:ReadCSV
在以下示例中,数据形状被定义为具有两个字符串字段的 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);
这对您有帮助吗?