Alguém conhece uma ferramenta simples que abrirá um arquivo CSV e permitirá que você faça consultas básicas SQLesque? Como uma ferramenta gráfica, fácil de usar.
Sei que poderia escrever um pequeno script para importar o CSV para um banco de dados SQLite, mas, como imagino que alguém pensou nisso antes de mim, só queria saber se existia. O que está causando essa pergunta é que estou ficando frustrado com os recursos limitados de filtragem do Excel.
Talvez alguma outra ferramenta de manipulação de visualização de dados forneça funcionalidade semelhante.
De preferência é grátis ou OSS, mas estou aberto a sugestões.
EDITAR:
Eu realmente preferiria alguns tutoriais claros sobre como fazer o abaixo, em vez de apenas "tornar sua planilha uma entrada ODBC" ou "escrever programas usando arquivos ODBC" ou mais idéias sobre aplicativos a serem usados. Nota: Não consigo usar o MS Access.
Mais uma edição:
Ainda estou aberto a soluções usando SQLite. Minha plataforma é um laptop Win2k semi-antigo, com um P4. Como é bastante lento, uma solução com recursos leves é ideal e provavelmente obterá a vitória.
Respostas:
Você já experimentou o LogParser ?
Um tutorial (e outro ) sobre o uso da linguagem de consulta SQL como com arquivos CSV que encontrei usando o google .
Consulta de exemplo:
fonte
Acho que o banco de dados do OpenOffice.org pode fazer o que você quiser. Funciona assim.
Inicie o Open Office.org Database, ele mostra o " Assistente de Banco de Dados "
Selecione " Conectar-se a um banco de dados existente: Texto "
Especifique o caminho para os arquivos de texto, além de detalhes como caracteres separadores, etc.
Criar e executar consultas
Se você já trabalhou com o Microsoft Access, encontrará a GUI familiar.
Se você pode ficar sem uma GUI, sempre existem os comandos tradicionais do UNIX. Eu os uso muito para fazer consultas simples em arquivos (pequenos) CSV. Aqui está como funciona:
fonte
Você pode usar o ODBC para consultar arquivos de texto:
Acessando arquivos de texto usando o provedor de dados ODBC
Observe que você não precisa do MS Access para que isso funcione, o tutorial no link acima apenas usa o MS Access para criar o arquivo de texto, mas como você já possui um arquivo de texto, role para baixo até a metade e inicie o tutorial onde vê o título Acessando um arquivo de texto .
Atualização : eu mesmo criei um DSN em um arquivo .csv para poder criar este tutorial passo a passo ... aqui está:
Neste ponto, você deve ter um arquivo DSN com o qual pode acessar o arquivo .csv por meio do ODBC. Se você inspecionar sua pasta onde o arquivo .csv está colocado, verá um arquivo schema.ini, que contém a configuração que você acabou de criar. Quando você possui vários arquivos .csv, cada um deles corresponde a uma tabela e cada tabela possui um bloco [ filename .csv] no arquivo schema.ini no qual as diferentes colunas são definidas ... Você também pode criar / alterar esse esquema .ini diretamente em um editor de texto em vez de usar a GUI descrita acima.
Quanto à sua pergunta extra "como conectar-se a esse provedor ODBC usando uma ferramenta de consulta":
Eu tenho uma ferramenta que me escrevi há muito tempo e que não é elegível para publicação. Mas uma rápida pesquisa no Google surgiu com o odbc-view , uma ferramenta freeware que faz o que você deseja.
Eu baixei e instalei a ferramenta.
Depois de iniciar a ferramenta:
Você deve ver o conteúdo do seu arquivo .csv no painel inferior agora.
Espero que isso ajude ... Deixe-me saber como você faz ou se precisar de mais assistência.
fonte
Eu gosto de usar R para acessar arquivos CSV de uma maneira rápida. Embora a linguagem não seja diretamente SQL, você pode fazer todas essas coisas com comandos simples em R. R também fornece a capacidade de criar gráficos agradáveis e muito mais poder.
fonte
Você sempre pode ler o arquivo no Excel e usar o Excel como sua fonte de dados via ODBC e executar consultas nele.
fonte
Eu descobri que a maneira mais simples de conseguir isso é usar apenas a funcionalidade de importação CSV integrada do SQLite:
sqlite3 mydatabase.sqlite
sqlite> .mode csv
sqlite> .import mydata.csv <tablename>
Agora você tem um banco de dados que pode ser consultado da maneira que desejar. Eu também achei bom o desempenho acima, apenas importou três milhões de linhas em 10 a 15 segundos.
fonte
Encontrei um aplicativo pequeno e não gráfico que faz isso: csvsql .
A documentação está aqui .
fonte
sqlite3
(o aplicativo de linha de comando que lê dados SQLite) foi construído com suporte a arquivos de importação - ver seus comandos .separator e .import em sqlite.org/sqlite.htmlVocê pode dar uma olhada na ferramenta gratuita q - Text as a Database , que permite executar o SQL diretamente em arquivos csv, incluindo junções, agrupamentos e qualquer outra construção SQL. Também inclui detecção automática de nomes e tipos de colunas.
É uma ferramenta de linha de comando que corresponde à maneira de operação do Linux (por exemplo, Piping from stdin, se necessário, sinalizadores especiais para personalizar o comportamento, etc.).
Usa sqlite nos bastidores, muito leve e fácil de usar.
Divulgação completa - é minha própria ferramenta de código aberto. Espero que você ache útil
Harel Ben-Attia
fonte
Uma ferramenta que eu acho que pode facilitar isso no futuro é o Resolver One .
É uma planilha que gera código Python que é facilmente modificável. Para aqueles que são desenvolvedores e, ocasionalmente, precisam "renunciar" para resolver problemas em planilhas, isso parece ser uma maneira intuitiva de resolver problemas em formato de planilha em um idioma familiar.
E isso me dá uma desculpa para usar Python. Python me faz feliz.
fonte
O driver H2 JDBC fornece uma função csvread muito útil, permitindo que você faça coisas como as seguintes:
Existem várias maneiras de usar esse driver sem ter que se aprofundar na gravação de código para usá-lo.
Pessoalmente, prefiro o Squirrel SQL Client, que oferece uma ótima interface gráfica para executar consultas. Para usá-lo, basta apontar o
H2 In-Memory
caminho de classe do driver já listado para o driver H2 que você baixou. Depois de configurar um alias adequado usando o driver, você pode executar o SQL aleatório que desejar. Os resultados são exibidos em uma boa tabela e todos os tipos de outros recursos para importação, exportação, etc.Como alternativa, você pode usar o Groovy para escrever um script rápido para carregar e usar o driver conforme necessário. Veja este exemplo no blogpost para descobrir como.
Parece que alguém estendeu o script groovy acima e o transformou em uma boa ferramenta de linha de comando para executar as consultas, consulte gcsvsql. Com isso, você pode executar comandos como o seguinte:
fonte
Você pode querer tentar ferramenta Q . É muito leve, requer apenas o Python 2.5 ou mais recente.
fonte
Eu escrevi um programa de linha de comando para executar SQL arbitrário em arquivos CSV, incluindo associações de vários arquivos, chamado gcsvsql. Você pode ler sobre isso aqui:
http://bayesianconspiracy.blogspot.com/2010/03/gcsvsql.html
Há um projeto do Google Code aqui: http://code.google.com/p/gcsvsql/
É escrito em Java / Groovy e será executado em qualquer lugar em que Java estiver disponível.
Edit: Projeto ativo movido para o github. https://github.com/jdurbin/durbinlib
fonte
Mais duas opções para esta tarefa: querycsv e fsql . Querycsv é Python e usa sqlite3. Fsql é Perl e usa DBD :: CSV .
fonte
Embora não seja gratuito, o melhor programa que encontrei para isso é a Consulta de Arquivos . Ao contrário das outras soluções baseadas em linha de comando ou que exigem a importação / configuração do arquivo antes de acessá-lo, o File Query permite abrir um arquivo (até GBs de entrada como um editor de texto normal e analisará automaticamente o layout para você, e permite que você faça quase todas as suas consultas a partir de diálogos simples.
É um pouco caro, mas se você precisar fazer algo apenas uma vez, sempre poderá usar a avaliação de 30 dias gratuitamente. Eles também têm ótimos guias e até vídeos para você começar.
fonte
você pode usar o WHS. Por exemplo, tenho 4 arquivos no diretório 'C: \ Users \ user837 \ Desktop \ t4': 1.txt
2.txt
schema.ini
e Hello.js
Agora basta clicar duas vezes em Hello.js e você verá a solicitação de sql linha por linha. Consulte a documentação do WHS para visualizar todos os resultados da consulta.
fonte
Há um plugin CsvQuery do Notepad ++ para executar consultas sql em arquivos csv abertos no npp. https://github.com/jokedst/CsvQuery
fonte