CSV Parser
CSV(쉼표로 구분된 값) 파일은 표 형식 데이터(숫자 및 텍스트)를 일반 텍스트 형식으로 저장합니다. ThingWorx CSV Parser 확장 프로그램을 사용하여 ThingWorx 내에서 CSV 파일을 분석하고 조작합니다. 이를 통해 CSV 데이터를 가져와 ThingWorx에 저장하거나 CSV 데이터를 단지 데이터 저장소로 처리하고 CSV 데이터에서 추가 값을 추출할 수 있습니다. CSV Parser 확장 프로그램을 사용하려면 CSVParser_Extensions.zip을 다운로드하고 ThingWorx로 가져옵니다. 패키지는 다음을 ThingWorx로 가져옵니다.
• CSVParserFunctions 리소스
|
가져오기 파일을 UTF-8로 인코딩하는 것이 좋습니다.
|
|
CSV Parser 확장 프로그램은
support.ptc.com의 소프트웨어 다운로드 > 소프트웨어 업데이트 주문 또는 다운로드 > ThingWorx Foundation > Release <최신 버전> > ThingWorx CSV Parser > 최근 제조코드 > CSV-Parser-Extensions에서 사용할 수 있습니다.
|
서비스
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);