Расширяемость ThingWorx > Расширения > Синтаксический анализатор CSV
Синтаксический анализатор CSV
* 
В PTC прекращена поддержка расширения анализатора CSV для ThingWorx, и расширение теперь недоступно для загрузки с портала загрузки PTC. Поддержку и выпуск будущих обновлений для этого расширения будет обеспечивать партнер PTC Free ThingWorx Widgets | IQNOX. Дополнительные сведения см. в статье службы поддержки PTC (на английском языке).
В файле с разделенными запятыми значениями (CSV) табличные данные (числа и текст) сохраняются в виде неформатированного текста. CSV-файлы в ThingWorx анализируются и обрабатываются с помощью расширения синтаксического анализатора ThingWorx CSV. Это позволяет импортировать и сохранять данные CSV-файла в ThingWorx или просто обрабатывать его как хранилище данных и извлекать дополнительные значения из данных CSV. Чтобы использовать расширение синтаксического анализатора CSV, загрузите и импортируйте в ThingWorx файл CSVParser_Extensions.zip. Этот пакет ThingWorx импортирует следующее:
Ресурс CSVParserFunctions
Дополнительные сведения об использовании расширения CSV Parser см. в этой статье.
* 
Рекомендуется использовать файлы импорта в кодировке UTF-8.
Сервисы
Функция синтаксического анализатора CSV размещается на вкладке "Фрагменты" сервисов со следующими сервисами:
GetCSVFile - этот сервис анализирует CSV-файл из запроса HTTP GET (выходным результатом является таблица данных). Он имеет следующие конфигурируемые параметры:
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);
Было ли это полезно?