csvcut
쉼표로 구분된 .csv 파일에서 실행한 후:
[root@server files]# csvcut -c title,mpn,overview,techspecs2,image_carousel_elargesrc syn_multi-image.csv > syn_scraped_cut.csv
오류가 발생합니다.
CSV에 최대 길이인 131072자보다 긴 필드가 포함되어 있습니다. field_size_limit 매개변수를 사용하여 최대값을 늘리거나 quoteing=csv.QUOTE_NONE을 설정해 보세요.
크기는 크지만 가장 긴 필드의 길이는 65535자에 불과하며 이는 허용되는 최대 길이보다 꽤 안전한 거리입니다.
quoting=csv.QUOTE_NONE
무슨 설정을 말하는지 모르겠습니다 . 방금 간단한 csvkit 명령을 사용했고 그것이 내가 아는 전부입니다.
다음과 같은 유사한 주제와 답변을 읽어보세요.여기그리고여기, 특히 csvkit의 맥락에서 어떤 종류의 솔루션도 추출할 수 없습니다. 나는 일반적으로 프로그래밍에 능숙하지 않으며 csvkit과 해당 명령 및 옵션을 사용하는 데 제한됩니다.
이 오류를 어떻게 해결할 수 있나요?
답변1
이것문서csvkit
매개 -z
변수를 조정할 수 있음 을 나타냅니다 FIELD_SIZE_LIMIT
.
따라서 상당히 높은 숫자를 사용하는 것이 좋습니다.
csvcut -z 2500000 -c title,mpn,overview,techspecs2,image_carousel_elargesrc syn_multi-image.csv > syn_scraped_cut.csv
답변2
CSV 파일을 sqlite 데이터베이스로 변환할 때 똑같은 오류가 발생했습니다. 테이블에는 백만 개가 넘는 레코드가 포함되어 있습니다. 테이블에는 65535개의 레코드가 있는 필드도 포함되어 있지 않습니다. 해결책은 큰 테이블을 각각 100,000개의 레코드로 구성된 작은 테이블로 분할하고 이를 sqlite 데이터베이스에 로드하는 스크립트를 작성하는 것입니다. 더 이상 오류가 발생하지 않았습니다.