¿Alguien sabe de una herramienta simple que abrirá un archivo CSV y le permitirá hacer consultas SQLesque básicas sobre él? Como una especie de herramienta gráfica, una que es fácil de usar.
Sé que podría escribir un pequeño script para importar el CSV a una base de datos SQLite, pero como me imagino que alguien más pensó en esto antes que yo, solo quería preguntar si existía. Lo que está provocando esta pregunta es que me siento frustrado con las capacidades limitadas de filtrado de Excel.
Quizás alguna otra herramienta de manipulación de visualización de datos proporcionaría una funcionalidad similar.
Se prefiere gratis u OSS, pero estoy abierto a cualquier sugerencia.
EDITAR:
Realmente preferiría algunos tutoriales claros sobre cómo hacer lo siguiente en lugar de simplemente "hacer de su hoja una entrada ODBC" o "escribir programas usando archivos ODBC", o más ideas sobre aplicaciones para usar. Nota: No puedo usar MS Access.
Otra edición más:
Todavía estoy abierto a soluciones con SQLite. Mi plataforma es una laptop Win2k semi antigua, con un P4. Es bastante lento, por lo que una solución de recursos livianos es ideal y probablemente obtendría la victoria.
Respuestas:
¿Has probado LogParser ?
Un tutorial (y otro más ) sobre el uso del lenguaje de consulta similar a SQL con archivos CSV que encontré usando google .
Consulta de ejemplo:
fuente
Creo que la base de datos OpenOffice.org puede hacer lo que quieras. Funciona así.
Inicie Open Office.org Database, muestra el " Asistente de base de datos "
Seleccione " Conectarse a una base de datos existente: Texto "
Especifique la ruta a los archivos de texto, así como detalles como el carácter separador, etc.
Crear y ejecutar consultas
Si alguna vez trabajó con Microsoft Access, le resultará familiar la GUI.
Si puede prescindir de una GUI, siempre hay los comandos UNIX tradicionales. Los uso mucho para hacer consultas simples a archivos (pequeños) CSV. Así es como funciona:
fuente
Puede usar ODBC para consultar archivos de texto:
Acceso a archivos de texto utilizando el proveedor de datos ODBC
Tenga en cuenta que no necesita MS Access para que esto funcione, el tutorial en el enlace anterior solo usa MS Access para crear el archivo de texto, pero como ya tiene un archivo de texto, desplácese hacia abajo hasta la mitad e inicie el tutorial donde vea el título Acceso a un archivo de texto .
Actualización : Creé un DSN en un archivo .csv para poder crear este tutorial paso a paso ... aquí viene:
En este punto, debe tener un DSN de archivo con el que puede acceder a su archivo .csv a través de ODBC. Si inspecciona su carpeta donde está ubicado el archivo .csv, verá un archivo schema.ini, que contiene la configuración que acaba de crear. Cuando tiene varios archivos .csv, cada uno corresponde con una tabla y cada tabla tendrá un bloque [ filename .csv] en el archivo schema.ini en el que se definen las diferentes columnas ... También puede crear / cambiar ese esquema .ini directamente en un editor de texto en lugar de usar la GUI descrita anteriormente.
En cuanto a su pregunta adicional "cómo conectarse a este proveedor ODBC utilizando una herramienta de consulta":
tengo una herramienta que escribí hace mucho tiempo y que no es elegible para publicación. Pero una búsqueda rápida en Google apareció con odbc-view , una herramienta gratuita que hace lo que quieres.
Descargué e instalé la herramienta.
Después de iniciar la herramienta:
Debería ver el contenido de su archivo .csv en el panel inferior ahora.
Espero que esto ayude ... Avíseme cómo le va o si necesita más ayuda.
fuente
Me gusta usar R para acceder a archivos csv de manera rápida. Si bien el lenguaje no es directamente SQL, puede hacer todas esas cosas con comandos simples en R. R también le brinda la capacidad de hacer buenos gráficos y mucha otra potencia.
fuente
Siempre puede leer el archivo en Excel y usar Excel como su fuente de datos a través de ODBC y ejecutar consultas en él.
fuente
Descubrí que la forma más sencilla de lograr esto es usar la funcionalidad de importación CSV incorporada de SQLite:
sqlite3 mydatabase.sqlite
sqlite> .mode csv
sqlite> .import mydata.csv <tablename>
Ahora tiene una base de datos en funcionamiento que puede consultar como desee. También encontré que el rendimiento de lo anterior es bueno, acabo de importar tres millones de filas en 10-15 segundos.
fuente
Encontré una pequeña aplicación no gráfica que hace esto: csvsql .
La documentación está aquí .
fuente
sqlite3
(la aplicación de línea de comandos que lee bases de datos SQLite) tiene soporte incorporado para importar archivos - vea sus comandos .separator y .import en sqlite.org/sqlite.htmlPuede echar un vistazo a la herramienta gratuita q - Texto como una base de datos , que permite ejecutar SQL directamente en archivos csv, incluidas combinaciones, agrupaciones y cualquier otra construcción SQL. También incluye la detección automática de nombres de columna y tipos de columna.
Es una herramienta de línea de comandos que coincide con la forma de operación de Linux (por ejemplo, tuberías desde stdin si es necesario, indicadores especiales para personalizar el comportamiento, etc.).
Utiliza sqlite detrás de escena, muy ligero y fácil de usar.
Divulgación completa: es mi propia herramienta de código abierto. Esperamos que te sea útil
Harel Ben-Attia
fuente
Creo que una herramienta que he encontrado que, en el futuro, puede facilitar esto es Resolver One .
Es una hoja de cálculo que genera código Python que se puede modificar fácilmente. Para aquellos que son desarrolladores, y en ocasiones necesitan "retirarse" para resolver problemas en hojas de cálculo, esta parece ser una forma intuitiva de resolver problemas de hojas de cálculo en un lenguaje con el que están familiarizados.
Y me da una excusa para usar Python. Python me hace feliz.
fuente
El controlador H2 JDBC proporciona una función csvread muy útil, que le permite hacer cosas como las siguientes:
Hay varias maneras de hacer uso de este controlador sin tener que profundizar en escribir código para usarlo.
Personalmente, prefiero el Squirrel SQL Client, que le ofrece una buena interfaz gráfica de usuario para ejecutar consultas. Para usarlo, todo lo que necesita hacer es apuntar la
H2 In-Memory
ruta de clase del controlador ya listada al controlador H2 que ha descargado. Una vez que haya configurado un alias adecuado con el controlador, puede ejecutar el SQL aleatorio que desee. Los resultados se muestran en una buena tabla y todo tipo de otras características para importar, exportar, etc.Alternativamente, puede usar Groovy para escribir un script rápido para cargar y usar el controlador según sea necesario. Vea este blogpost de ejemplo para saber cómo.
Parece que alguien ha extendido el maravilloso script anterior y lo ha convertido en una buena herramienta de línea de comandos para ejecutar las consultas, consulte gcsvsql. Con esto puedes ejecutar comandos como el siguiente:
fuente
Es posible que desee probar la herramienta Q . Es muy liviano, solo requiere Python 2.5 o más reciente.
fuente
He escrito un programa de línea de comandos para ejecutar SQL arbitrario en un archivo csv, incluidas combinaciones de varios archivos, llamado gcsvsql. Usted puede leer sobre ello aquí:
http://bayesianconspiracy.blogspot.com/2010/03/gcsvsql.html
Hay un proyecto de Google Code para ello aquí: http://code.google.com/p/gcsvsql/
Está escrito en Java / Groovy, y se ejecutará en cualquier lugar donde Java esté disponible.
Editar: proyecto activo movido a github. https://github.com/jdurbin/durbinlib
fuente
Dos opciones más para esta tarea: querycsv y fsql . Querycsv es Python y usa sqlite3. Fsql es Perl y usa DBD :: CSV .
fuente
Si bien no es gratis, el mejor programa que he encontrado para esto es File Query . A diferencia de las otras soluciones que se basan en la línea de comandos o que requieren importar / configurar el archivo antes de acceder a él, File Query le permite abrir un archivo (incluso los GB están como un editor de texto normal, y analizará automáticamente el diseño por usted, y le permite hacer casi todas sus consultas desde diálogos simples.
Es un poco caro, pero si solo necesita hacer algo una vez, siempre puede usar la prueba de 30 días de forma gratuita. También tienen excelentes guías e incluso videos para comenzar.
fuente
puedes usar WHS. Por ejemplo, tengo 4 archivos en el directorio 'C: \ Users \ user837 \ Desktop \ t4': 1.txt
2.txt
schema.ini
y hola.js
Ahora solo haga doble clic en Hello.js y verá sql reqult línea por línea. Consulte la documentación de WHS para ver todos los resultados de la consulta.
fuente
Hay un complemento de Notepad ++ CsvQuery para ejecutar consultas sql en archivos csv abiertos en npp. https://github.com/jokedst/CsvQuery
fuente