SQL-запросы к файлам DSV? - PullRequest
2 голосов
/ 27 июля 2011

Довольно прямолинейная вещь.

Наличие файла DSV, скажем, data.txt

name;surname;age;money
Joe;Dun;13;4
Don;Dapper;44;100
Freddie;Mercury;45;888

Хотелось бы, чтобы была программа, которую я мог бы сделать для этого Sqlquereis. как,

dsvsql -d\; -q "select sum(money) from data.txt where surname like 'D%'" data.txt

Что бы я хотел, чтобы он выводил:

sum(money)
104

Теперь я нашел этот старый вопрос , на который нет удовлетворительного ответа ... а также там упоминается CsvJdbc , который кажется близким, но это не совсем так. То, что я хочу, было чем-то полностью основанным на терминалах, и мне не нужно было бы кодировать для запуска.

Я постоянно имею дело с большим количеством файлов DSV с различными полями и анализирую их. Это очень удобно ...

есть мысли?

ура!

Ответы [ 2 ]

1 голос
/ 28 июля 2011

CsvJdbc, похоже, не поддерживает ничего, кроме самых простых SQL-запросов (кажется, даже не sum() поддерживается)

Вместо этого вы можете использовать HSQLDB (2.2). Он может читать файлы CSV напрямую и предлагает вам полный спектр функций SQL, которые он имеет. Единственным недостатком является то, что вам нужно создавать таблицы вручную. Недостаточно просто поместить файлы в каталог (как в случае с CsvJdbc)

Подробнее: http://hsqldb.org/doc/2.0/guide/texttables-chapt.html

Для запроса таблиц вы можете использовать инструменты запросов на основе JDBC, которые могут запускаться из командной строки.

Я знаю двух из них:

  1. henplus - http://henplus.sourceforge.net/
  2. SQL Workbench / J - http://www.sql -workbench.net (пакетный режим, режим командной строки или графический интерфейс)
0 голосов
/ 28 июля 2011

Microsoft имеет свободно загружаемую программу под названием Log Parser . Это дает вам SQL-подобный интерфейс для файлов CSV, среди прочего. Только Windows, конечно. Но, возможно, вам следует использовать Google для «утилиты анализа журналов» или что-то в этом роде.

Log parser - это мощный, универсальный инструмент, который обеспечивает универсальный запрос доступ к текстовым данным, таким как файлы журналов, файлы XML и файлы CSV, а также ключевые источники данных в операционной системе Windows®, такие как Журнал событий, Реестр, файловая система и Active Directory®. Вы сообщаете Log Parser, какая информация вам нужна и как вы ее хотите обработанный. Результаты вашего запроса могут быть отформатированы в текстовом виде на основе результатов, или они могут быть сохранены для более специализированных целей, таких как SQL, SYSLOG или диаграмма.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...