큰 (50GB) CSV 파일을 작은 부분으로 나누는 데 어려움을 겪고 있습니다. 각 라인에는 수천 개의 필드가 있습니다. 필드 중 일부는 큰 따옴표로 묶인 문자열이고, 다른 부분은 정수, 소수 및 부울입니다.필드 수로 파일을 작은 파일로 나누기
줄 단위로 파일을 구문 분석하고 각 행의 필드 수로 나누고 싶습니다. 문자열에는 여러 개의 쉼표 (예 :)와 여러 개의 빈 필드가 포함될 수 있습니다.
내가 를 사용하여 시도 "아버지, 아들과 $ 4,000의 딸에 의해 판매",, 1,30,50, ,,,, (12) ,,, 20.9,0,
perl -pe' s{("[^"]+")}{($x=$1)=~tr/,/|/;$x}ge ' file >> file2
따옴표 안에 쉼표를 변경하려면 | 그러나 그것은 작동하지 않았다. 사용할 계획입니다
awk -F"|" conditional statement appending to new k_fld_files file2
더 쉬운 방법이 있습니까? 나는 python을보고 있지만 아마도 파일을 한 줄씩 처리하는 유틸리티를 필요로 할 것이다. 파이썬을 사용하여
, 한 열은 하나 개의 파일로 의미? –
그건 한 줄의 일부입니다.몇 백만 줄이 있습니다. – Yoda
데이터에 포함되지 않은 필드 구분 기호로 파일을 다시 내보내는 것이 좋습니다. '|' char는 다른 좋아하는 것과는 달리 일반적으로 안전하고 눈에 보이며 탭 char입니다. 행운을 빕니다. – shellter