다른 소스의 엄청난 수의 거대한 csv 파일 (100M 회선 +)에 대해 날짜 형식을 자동 추측하고 깨진 시간 또는 유닉스 시간으로 변환 할 수있는 빠른 스 니펫이나 라이브러리가 필요합니다. -우표. 성공적으로 추측 된 경우 스 니펫은 날짜 형식이 파일 전체에서 변경 될 가능성이 있으므로 이후 날짜 필드의 유효성을 검사 할 수 있어야합니다.날짜 문자열의 자동 자동 추측
날짜 형식의 테스트 집합은 가변적이어야하지만 최적의 의사 결정 트리 또는 여러 주어진 날짜 형식의 컴파일러를 컴파일하는 것이 좋습니다.
나는 그런 종류의 것이 존재하지 않지만 아직 시장 조사를해야한다는 결론에 도달했다.
필자가 지금까지 살펴본 23 가지 다른 날짜 형식에 대해 getdate()를 모방하고 날짜 별 특성을 고려하여 최적화 된 버전으로 숫자 파서를 대체했습니다 ('4'에서 '9' 하루 중 1 시간 만에 10 시까 지 '3'에서 '9'로 변경)
누구나 비슷한 문제가 발생 했습니까?
각 CSV 파일에는 하나의 날짜 형식 만 있습니까, 아니면 혼합되어 있습니까? –
일반적으로 파일 당 하나의 형식 일 뿐이지 만 파일 전체에서 형식을 변경하는 경우가 있습니다. 데이터베이스에 대한 가져 오기가 첫 번째 9 억 8000 만 줄에 성공한 것으로 보입니다. 그 다음 4 천만 줄은 완전히 채워집니다. – hroptatyr
특정 날짜 형식이 있으면 다소 어려울 것입니다. "060804"2004 년 6 월 8 일, 2004 년 8 월 6 일 (유럽) 또는 2006 년 8 월 4 일 (yymmdd)입니까? 그런 형식은 없을 수도 있지만 선택해야 할 경우 잘못 골랐을 수도 있습니다. 진행중인로드 인 경우 소스로 돌아가서 소스를 수정할 수 있는지 확인하십시오. 일회성 일이라면, 당신은 혼란스러워해야 할 것입니다. – mattmc3