2017-05-19 1 views
0

큰 따옴표로 구분 된 타임 스탬프와 이메일 입력란이있는 CSV 파일이 있습니다 (예 :Talend 큰 따옴표로 구분 된 열의 CSV 가져 오기가 무시됩니다.

Timestamp,Email 
"2017-01-01 00:00:01",[email protected] 
"2017-01-01 00:02:31",[email protected] 

CSV 파일에 대한 메타 데이터 소스를 정의했으며 두 열을 정확하게 식별하고 입력 할 수있었습니다. 그러나 패키지를 실행할 때 타임 스탬프 열이 존재하지 않는 것처럼 처리합니다 (일반적으로 'Unparseable date : "[email protected]"').

tFileInputDelimited를 이스케이프 및 텍스트 인클로저 옵션을 포함한 설정 수 및 날짜와 문자열로 타임 스탬프 가져 오기 (문자열을 가져올 경우 타임 스탬프 필드에 전자 메일 주소가 있고 전자 메일 주소가 비어 있음). 가져 오기가 큰 따옴표로 구분 된 타임 스탬프 열의 존재를 인식하도록합니다.

저는 전체 타임 스탬프 값을 벗어나는 원인이되는 것으로 가정하고 있습니다. 그러나 나는 그것이 무엇인지 생각할 수 없습니다. 당신이 정말로 당신의 입력 파일에 타임 스탬프 주위에 따옴표를 유지하려면

+0

doublechote는 메일 체인지 추출물에서 가져온 것입니다. –

+0

리포지토리에 정의 된 메타 데이터를 사용하도록 구성 요소를 재설정하여이 문제를 해결했지만 다른 해결책은 다음과 같습니다. 유효 함. –

답변

1

, 당신이 입력 문자열에 큰 따옴표 (\ ")가 필요합니다 지정이 날짜 모델

"\"yyyy-MM-dd HH:mm:ss\"" 

이 방법을 시도 당신이 입력 데이터를 변경 할 수 있습니다.

+0

큰 따옴표는 mailchimp 추출물에서옵니다. Talend 내에서 입력 파일을 수정하지 않고 입력 파일의 형식을 제어 할 권한이 없습니다. –

+0

이것은 영리한 아이디어입니다. 만약 내가 아직 해결하지 못했다면 나는이 해결책을 가지고 갔을 것입니다. –

1

, 모든 필드 또는 없음에 대한 따옴표를 사용하도록 설정해야 하나.

을이 어떤 옵션이없는 경우도 tFileInputFullRow으로 파일을 읽을 수, 승 따옴표를 제거 i는 문자열을 바꿔 나중에 데이터를 으로 처리합니다. tDenormalize을 열 데이터에 넣습니다.

1

그런 다음, 메타 데이터를 사용하는 경우 :

  1. 구성 요소가 저장소에 언급되어 있는지 확인합니다 (구성 요소 -> 부동산 유형 = 저장소)
  2. 텍스트 인클로저 문자를 변경하는 메타 데이터를 수정하려면 " \ ""
관련 문제