CSV Parser
* 
ThingWorx CSV Parser 확장에 대한 PTC 지원이 종료되어 더 이상 PTC 다운로드 포털에서 다운로드할 수 없습니다. PTC 파트너 무료 ThingWorx 위젯 | IQNOX는 이 확장에 대한 지원 및 향후 유지보수 릴리즈를 제공할 예정입니다. 자세한 내용은 PTC 지원 문서를 참조하십시오.
CSV(쉼표로 구분된 값) 파일은 표 형식 데이터(숫자 및 텍스트)를 일반 텍스트 형식으로 저장합니다. ThingWorx CSV 파서 확장을 사용하여 ThingWorx 내에서 CSV 파일의 구문을 분석하고 조작합니다. 이를 통해 CSV 데이터를 가져와 ThingWorx에 저장하거나 CSV 데이터를 단지 데이터 저장소로 처리하고 CSV 데이터에서 추가 값을 추출할 수 있습니다. CSV 파서 확장을 사용하려면 CSVParser_Extensions.zip을 다운로드하고 ThingWorx로 가져옵니다. 패키지는 다음을 ThingWorx로 가져옵니다.
CSVParserFunctions 리소스
CSV 파서 확장 사용에 대한 자세한 내용은 이 문서를 참조하십시오.
* 
가져오기 파일을 UTF-8로 인코딩하는 것이 좋습니다.
서비스
CSV Parser 기능은 다음 서비스와 함께 서비스 조각 탭에 있습니다.
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);
도움이 되셨나요?