CSV 파일 쿼리 비슷한 기능을 제공 할 것입니다. 무료 또는

누구나 CSV 파일을 열고 기본적인 SQLesque 쿼리를 수행하는 간단한 도구를 알고 있습니까? 사용하기 쉬운 일종의 그래픽 도구와 같습니다.

CSV를 SQLite 데이터베이스로 가져 오기 위해 작은 스크립트를 작성할 수 있다는 것을 알고 있지만 다른 사람이 내 앞에서 이것을 생각했다고 생각하기 때문에 하나만 있는지 문의하고 싶었습니다. 이 질문을 제기하는 것은 Excel의 제한된 필터링 기능에 좌절하고 있다는 것입니다.

아마도 다른 데이터 시각화 조작 도구는 비슷한 기능을 제공 할 것입니다.

무료 또는 OSS가 선호되지만 제안 사항이 있습니다.

편집하다:

“시트를 ODBC 항목으로 작성”또는 “ODBC 파일을 사용하여 프로그램을 작성”하는 대신 아래에서 수행하는 방법에 대한 명확한 자습서 또는 사용할 앱에 대한 아이디어를 더 선호합니다. 참고 : MS Access를 사용할 수 없습니다.

또 다른 편집 :

SQLite를 사용하는 솔루션을 계속 사용할 수 있습니다. 내 플랫폼은 반 고대 Win2k 노트북이며 P4가 있습니다. 속도가 느리므로 리소스 라이트 솔루션이 이상적이며 승리 할 것입니다.



답변

LogParser 를 사용해 보셨습니까 ?

로그 파서는 로그 파일, XML 파일 및 CSV 파일과 같은 텍스트 기반 데이터뿐만 아니라 Windows® 운영 체제의 주요 데이터 소스 (예 : 이벤트 로그, 레지스트리)에 대한 범용 쿼리 액세스를 제공하는 강력하고 다양한 도구입니다. 파일 시스템 및 Active Directory®. 필요한 정보와 처리 방법을 Log Parser에 알려줍니다. 쿼리 결과는 텍스트 기반 출력에서 ​​사용자 정의 형식으로 지정되거나 SQL, SYSLOG 또는 차트와 같은보다 특수한 대상으로 유지 될 수 있습니다.

대부분의 소프트웨어는 제한된 수의 특정 작업을 수행하도록 설계되었습니다. Log Parser는 다릅니다 … 사용 가능한 방법의 수는 사용자의 요구와 상상력에 의해서만 제한됩니다. 세상은 Log Parser가있는 데이터베이스입니다.

google을 사용하여 찾은 CSV 파일과 함께 SQL과 같은 쿼리 언어를 사용하는 방법에 대한 자습서 (및 다른 것 ) .

쿼리 예 :

logparser -i:CSV "SELECT TOP 10 Time, Count INTO c:\logparser\test\Chart.GIF
FROM c:\logparser\test\log.csv ORDER by Time DESC" -charttype:bar3d

답변

OpenOffice.org Database 가 원하는 것을 할 수 있다고 생각 합니다. 이렇게 작동합니다.

  1. Office.org 데이터베이스 열기를 시작하면 ” 데이터베이스 마법사 “가 표시됩니다.

  2. 기존 데이터베이스에 연결 : 텍스트 선택하십시오 .

  3. 텍스트 파일의 경로와 구분 문자 등의 세부 정보를 지정하십시오.

  4. 쿼리 생성 및 실행

Microsoft Access를 사용해 본 적이 있다면 GUI에 익숙 할 것입니다.


GUI없이 할 수 있다면 항상 기존의 UNIX 명령이 있습니다. CSV 파일에 대한 간단한 쿼리를 수행하는 데 많이 사용합니다. 작동 방식은 다음과 같습니다.

clause      operation   command
-------------------------------
from             join     `join`
where     restriction     `grep`
order by           --     `sort`
group by  restriction      `awk`
having    restriction     `grep`
select     projection      `cut`
distinct  restriction     `uniq`
limit     restriction     `head`
offset    restriction     `tail`

답변

ODBC를 사용하여 텍스트 파일을 쿼리 할 수 ​​있습니다.

ODBC 데이터 공급자를 사용하여 텍스트 파일에 액세스

당신이 작동하지 MS 액세스를 필요로하지 않는 즉, 위의 링크에있는 튜토리얼은 텍스트 파일을 만들 MS 액세스를 사용하지만, 이미 텍스트 파일을 가지고, 중간 아래로 스크롤하고, 당신이 볼 수있는 튜토리얼을 시작합니다 제목 텍스트 파일 액세스 .

업데이트 : 단계별 자습서 로이 단계를 만들 수 있도록 .csv 파일에 DSN을 직접 만들었습니다.

  • .csv 파일이 다른 디렉토리없이 자체 디렉토리에 있는지 확인하십시오.
  • “ODBC 데이터 소스 관리자”(시작-제어판-관리 도구-데이터 소스 (ODBC))를여십시오.
  • File DSN 탭으로 이동하여 “Add …”를 클릭하십시오.
  • 목록에서 “Microsoft 텍스트 드라이버 (* .txt, * .csv)를 선택하고”다음> “을 클릭하십시오.
  • 파일 데이터 소스의 이름을 지정하고 (예 : “test”) “Next>”를 클릭하십시오.
  • “마침”을 클릭하십시오 (이 후 “데이터 소스 이름”및 “설명”필드가 실제로 회색으로 표시되는 대화 상자가 나타납니다. 이것은 정상입니다. 걱정하지 마십시오.)
  • “현재 디렉토리 사용”체크 상자를 선택 해제하십시오. “디렉토리 선택”버튼이 활성화됩니다.
  • “디렉토리 선택”버튼을 클릭하고 첫 번째 단계에서 .csv 파일을 저장 한 폴더로 이동하십시오.
  • “옵션 >>”버튼을 클릭하십시오.
  • “포맷 정의 …”버튼을 클릭하십시오.
  • 왼쪽의 “테이블”목록에서 .csv 파일을 선택하고 “Guess”버튼을 클릭하십시오. (CSV 파일을 분석하고 .csv 파일의 각 열에 적절한 필드를 만듭니다.)
  • 오른쪽 목록에서 생성 된 열 (F1, F2, …)을 살펴보고 의미있는 이름을 지정하고 적절한 데이터 유형을 설정하십시오 (때로는 추측이 항상 올바른 것은 아닙니다).
  • 모든 것이 올바르게 설정되면 “확인”을 클릭하십시오 (2 회).

이 시점에서 ODBC를 통해 .csv 파일에 액세스 할 수있는 파일 DSN이 있어야합니다. .csv 파일이있는 폴더를 검사하면 방금 만든 구성이 포함 된 schema.ini 파일이 표시됩니다. 여러 개의 .csv 파일이있는 경우 각 파일은 테이블에 해당하며 각 테이블은 다른 열이 정의 된 schema.ini 파일에 [ filename .csv] 블록을 갖습니다. 해당 스키마를 생성 / 변경할 수도 있습니다. 위에서 설명한 GUI를 사용하는 대신 텍스트 편집기에서 .ini 파일을 직접 사용하십시오.

귀하의 추가 질문에 관해서는 “쿼리 도구를 사용하여이 ODBC 공급자에 연결하는 방법”:
오래 전에 출판 할 수없는 도구를 가지고 있습니다. 그러나 빠른 Google 검색에서 원하는 작업을 수행하는 프리웨어 도구 인 odbc-view 가 나타났습니다 .
도구를 다운로드하여 설치했습니다.
도구를 시작한 후 :

  • “DataSource …”를 클릭하십시오.
  • 이전에 생성 한 파일 데이터 소스를 선택하십시오 (예 : “test”).
  • 쿼리 창에 “select * from [ filename .csv]”를 입력하십시오.
  • “실행”을 클릭하십시오.

아래쪽 창에 .csv 파일의 내용이 표시됩니다.
도움이 되었기를 바랍니다 … 어떻게하는지 또는 추가 지원이 필요한 경우 알려주십시오.


답변

R 을 사용하여 csv 파일에 빠르게 액세스 하는 것을 좋아 합니다. 언어는 직접 SQL이 아니지만 R의 간단한 명령으로 이러한 모든 작업을 수행 할 수 있습니다. R은 멋진 그래프와 다른 많은 기능을 만들 수있는 기능도 제공합니다.


답변

항상 파일을 Excel로 읽고 ODBC를 통해 Excel을 데이터 소스로 사용하고 이에 대한 쿼리를 실행할 수 있습니다.


답변

이를 달성하는 가장 간단한 방법은 SQLite의 기본 제공 CSV 가져 오기 기능을 사용하는 것입니다.

  1. sqlite3 mydatabase.sqlite
  2. sqlite> .mode csv
  3. sqlite> .import mydata.csv <tablename>

이제 원하는 데이터베이스를 쿼리 할 수 ​​있습니다. 또한 위의 성능이 좋았으며 10-15 초 동안 3 백만 행을 가져 왔습니다.