Быстрый, бесплатный инструмент SQL для CSV файлов

У меня есть куча довольно больших CSV (значений, разделенных запятыми), и я хочу их проанализировать. SQL-запросы идеально подходят для этого. До сих пор я использовал MS Access для импорта CSV файлов и выполнения запросов на них. Однако, помимо наличия очень плохого редактора SQL и наличия глупых произвольных правил о том, когда можно открыть/отредактировать/удалить запрос/таблицу, это очень медленно. Я могу жить с начальной медлительностью при выполнении запроса, но я действительно ненавижу, что он, похоже, перезапускает его всякий раз, когда я пытаюсь сортировать таблицу в другом столбце, ждать 5 минут или прокручивать.

Есть ли лучшие (бесплатные) инструменты для работы? (Я бы хотел вручную написать script, чтобы преобразовать CSV во что-то другое, если это необходимо)

Спасибо!

Изменить: Спасибо за ответы на все вопросы! Я собираюсь попробовать SQL Server, и если это сработает, я приму этот ответ. Просто пояснение: импортирование файла данных не обязательно является проблемой для меня (хотя, конечно, для этого удобны простые способы сделать это). Мне нужна программа, которая впоследствии позволяет мне быстро и эффективно выполнять (достаточно сложные) запросы на нее. FileHelpers не собирается мне помогать, потому что, прежде всего, я не знаю ни одного языка .NET, и, во-вторых, у меня были данные на Java, но я думал, что с SQL это будет намного проще. Спасибо за ответ, хотя!

9 ответов

существует также Oracle Express Edition.

Я думаю, это зависит от того, где вы уже владеете. Или, возможно, где вы хотите быть опытным.


Почему бы просто не импортировать их в MySQL, это просто.

LOAD DATA LOCAL INFILE 'file.csv' 
INTO TABLE some_table 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
(field1, filed2, field3);

И тогда вы можете легко выполнять запросы любой сложности...


Вы не сказали, какую СУБД вы используете, но PostgreSQL имеет COPY, чтобы сделать это, со многими параметрами:

COPY billing.contact FROM '/foo/bar/contact.csv' WITH DELIMITER AS ',';


SQL Server Express 2008 с инструментами Здесь. Он включает Management Studio, и он отлично работает.

Обратите внимание, что для этого требуется .net framework 3.5 sp1, MS Installer 4.5 и Powershell 1.0, но есть ссылки на странице загрузки, если вам тоже нужно их получить.


Мышление немного из коробки, вы можете посмотреть LINQ to CSV.


Если вы можете получить их до Access, а затем просто экспортируйте таблицы Access в SQL Server. Или, если существует общая схема для csv, создайте таблицу SQL Server, удаленно подключитесь к Access и импортируйте непосредственно в SQL Server.


Oracle SQL Developer (и Oracle Express Edition - спасибо Mark) являются бесплатными, легкими и SQl Developer может загружать файлы csv в полное отношение db: Oracle XE > Затем вы можете запускать операторы SQL или даже создавать их через интерфейс перетаскивания. Вы также можете посмотреть на Squirrel


logparser может это сделать... вы можете создавать sql-запросы в csv и других файлах с разделителями


Если вы хотите выполнить некоторую обработку данных, я могу порекомендовать библиотеку FileHelpers в http://www.filehelpers.com/. Он включает в себя почти все, что вам нужно для импорта, обработки и экспорта файлов с ограниченным или фиксированным размером.

Вместо Access вы можете использовать SQL Server Express в качестве бесплатной БД. Читайте об этом здесь:

http://www.microsoft.com/express/sql/default.aspx

Вы можете использовать SQL Server Management Studio Express для запроса своих данных или, альтернативно, вы можете получить доступ ко многим из тех же инструментов с помощью выпусков Visual Studio Express, все из которых бесплатны - вы даже можете создавать новые MDF с помощью добавления нового элемента пункт меню.

Надеюсь, это поможет.

licensed under cc by-sa 3.0 with attribution.