문제

대용량 CSV 파일을 읽는 데 적합한 프로그램이 있습니까?내가 다루는 일부 데이터 파일은 1GB 범위에 있습니다.Excel에서 처리하기에는 너무 많은 줄이 있습니다.직접 작업하려면 실제로 데이터베이스로 가져와야 하므로 Access를 사용하는 것은 약간 느릴 수 있습니다.대용량 CSV 파일을 열고 간단한 스프레드시트 레이아웃을 제공하여 쉽고 빠르게 데이터를 검색할 수 있는 프로그램이 있습니까?

도움이 되었습니까?

해결책

MySQL은 다음을 사용하여 CSV 파일을 테이블로 매우 빠르게 가져올 수 있습니다. LOAD DATA INFILE 명령.또한 가져오기 절차를 거치지 않고 CSV 파일에서 직접 읽을 수도 있습니다. CSV 스토리지 엔진.

다음을 사용하여 기본 테이블로 가져오기 LOAD DATA INFILE 시작 비용이 있지만 그 후에는 가능합니다. INSERT/UPDATE 인덱스 필드뿐만 아니라 훨씬 더 빠릅니다.CSV 저장소 엔진을 사용하면 처음에는 거의 즉각적으로 이루어지지만 순차 스캔만 빠르게 수행됩니다.

업데이트: 이 기사 (제목이 있는 섹션까지 아래로 스크롤합니다. 즉각적인 데이터 로드) MySQL에 CSV 데이터를 로드하는 데 두 가지 접근 방식을 모두 사용하는 방법에 대해 설명하고 예를 제공합니다.

다른 팁

내가 발견했다 reCSV편집기 대용량 CSV 파일을 편집할 수 있는 훌륭한 프로그램입니다.불필요한 열을 제거하는 데 이상적입니다.나는 그것을 아주 쉽게 1,000,000개의 녹음 파일에 사용했습니다.

vEdit 이것에 좋습니다.저는 정기적으로 100메가 이상의 파일을 엽니다(최대 1회 공연이라고 말씀하신 것으로 알고 있습니다. 사이트에서 두 배를 처리할 수 있다고 광고하는 것 같습니다).정규식 지원과 기타 다양한 기능이 있습니다.70달러는 할 수 있는 금액에 비해 저렴합니다.

실제 스프레드시트 정적 필드 크기 보기에 연결되지 않은 경우 GVim은 큰 파일을 무료로 처리할 수 있습니다.

vEdit은 훌륭하지만 언제든지 "기본"으로 돌아갈 수 있다는 것을 잊지 마세요. 시그윈 그리고 그레핑을 시작하세요.

유용한 명령

  • grep
  • 머리
  • 꼬리
  • 물론이죠 펄!

실제로 데이터로 수행하려는 작업에 따라 다릅니다.이와 같은 큰 텍스트 파일의 경우 일반적으로 한 번에 더 작은 데이터 하위 집합만 원하므로 찾고 작업하려는 조각을 끌어내는 데 'grep'과 같은 도구를 간과하지 마십시오.

데이터를 메모리에 넣을 수 있고 Python을 좋아한다면 UniTable 부분을 확인해 보는 것이 좋습니다. 아우구스투스.(부인 성명:Augustus는 오픈 소스(GPLv2)이지만 저는 이를 작성하는 회사에서 일하고 있습니다.)

잘 문서화되어 있지는 않지만 이것이 진행하는 데 도움이 될 것입니다.

from augustus.kernel.unitable import *
a = UniTable().from_csv_file('filename')
b = a.subtbl(a['key'] == some_value) #creates a subtable

인터페이스와 같은 Excel을 직접 제공하지는 않지만 약간의 작업을 통해 많은 통계를 신속하게 얻을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top