2017-03-24 5 views
0

7 열을 포함하는 약 2GB의 대용량 CSV 파일이 있습니다. 텍스트 (스 니펫) 인 네 번째 열을 삭제하고 싶습니다. 나는 명령 등의 "컷"을 사용 :큰 csv 파일의 열 삭제

컷 -d, 4 F - 보완 파일

을하지만 쉼표가 연속으로 발생 될 때마다이 컬럼을하고 있기 때문에 열이 제거되지 않습니다 해당 행에서 4 번째 열을 삭제합니다. 대답 here 다음에 나는 csvquote을 다음과 같이 사용했다 :

csvquote file | cut -d ","-f 4 --complement | 유니크 -c | csvquote -u

은 작은 파일에 근무하지만, 큰 파일에 대한 오류를 던지고 :

내가 몇 가지를 알고 싶어 정의 데이터 유형에 대한 너무 큰 값 :

errno를 큰 데이터 파일의 열을 삭제하는 솔루션. 감사.

편집 : 헤드 파일 출력 :

재미 266 REVIEW_ID, 텍스트, business_id, 별, 날짜, 유용한, 유형, 멋진 0, WV5XKbgVHJXEgw7f-b6PVA, hhmpSM4LcHQv6noXlYYCgw는 "우리 비켜 갔다 나는 그들이 놀랄만한 poutine를 가지고 있었던 것을 읽었 기 때문에 장소를 발견한다. 여행 할만한 가치가 있었다. 그것은 정말로 놀랄만한 지점이었다.이 장소가 엉덩이 인 저장 컨테이너에서 내었다 .poutine의 2 개의 거대한 부분을위한 10 달러. 튀김은 신선했다. 크레이그 그레이비를 잘 섞은 것. 흰 치즈 조각을 많이 얹은 환상적인 식사입니다.

+1

그것의 조각을 표시하는 것이 좋다 입력 파일 – RomanPerekhrest

+2

그냥'head file' 명령의 출력을 복사하여 붙여 넣으십시오. – RomanPerekhrest

+0

@RomanPerekhrest Done. 명확성에 감사드립니다. :) – shaud

답변

0

당신은 다른 필드를 사용하기 위해 잘라 내기를 시도 했습니까? 이처럼

는 :

trucks | cut -f 1,3- -d , | uniq -c | csvquote/csvquote -u 

내 컴퓨터에 그것을 테스트하고 그것을 작동하는 것 같다. 그러나 나는 또한 당신이

errno를 던지고있는 프로그램 유의하지 않았다, 데이터의 샘플을 보지 못했다 : 정의 데이터 유형에 대한 너무 큰 값을

+0

답장을 보내 주셔서 감사합니다. 다른 필드에 대해서도 같은 명령을 시도했지만 작동하지 않았습니다. 나는 문제가 파일의 크기와 같다고 생각한다. csvquote가 그 오류를 던지고 있습니다. – shaud