Quelqu'un connaît-il un outil simple qui ouvrira un fichier CSV et vous permettra de faire des requêtes SQLesque de base sur celui-ci? Comme un outil graphique quelconque, facile à utiliser.
Je sais que je pourrais écrire un petit script pour faire une importation du CSV dans une base de données SQLite, mais comme j'imagine que quelqu'un d'autre a pensé à cela avant moi, je voulais juste savoir s'il en existait un. Ce qui pose cette question, c'est que je suis frustré par les capacités de filtrage limitées d'Excel.
Peut-être qu'un autre outil de manipulation de visualisation de données fournirait des fonctionnalités similaires.
Gratuit ou OSS est préférable, mais je suis ouvert à toutes suggestions.
MODIFIER:
Je préférerais vraiment des tutoriels clairs sur la façon de faire ce qui suit au lieu de simplement "faire de votre feuille une entrée ODBC" ou "écrire des programmes en utilisant des fichiers ODBC", ou plus d'idées sur les applications à utiliser. Remarque: je ne peux pas utiliser MS Access.
Encore un autre EDIT:
Je suis toujours ouvert aux solutions utilisant SQLite. Ma plate-forme est un ordinateur portable Win2k semi-ancien, avec un P4 dessus. C'est assez lent, donc une solution légère est idéale et gagnerait probablement.
Réponses:
Avez-vous essayé LogParser ?
Un tutoriel (et un autre ) sur l'utilisation du langage de requête de type SQL avec des fichiers CSV que j'ai trouvé en utilisant google .
Exemple de requête:
la source
Je pense que la base de données OpenOffice.org peut faire ce que vous voulez. Cela fonctionne comme ça.
Démarrez la base de données Open Office.org, elle affiche «l' Assistant de base de données »
Sélectionnez " Se connecter à une base de données existante: Texte "
Spécifiez le chemin d'accès aux fichiers texte ainsi que des détails tels que le caractère de séparation, etc.
Créer et exécuter des requêtes
Si vous avez déjà travaillé avec Microsoft Access, vous trouverez familier l'interface graphique.
Si vous pouvez vous passer d'une interface graphique, il existe toujours les commandes UNIX traditionnelles. Je les utilise beaucoup pour faire des requêtes simples sur de (petits) fichiers CSV. Voici comment cela fonctionne:
la source
Vous pouvez utiliser ODBC pour interroger des fichiers texte:
Accès aux fichiers texte à l'aide du fournisseur de données ODBC
Notez que vous n'avez pas besoin de MS Access pour que cela fonctionne, le tutoriel dans le lien ci-dessus utilise simplement MS Access pour créer le fichier texte, mais comme vous avez déjà un fichier texte, faites défiler vers le bas à mi-chemin et démarrez le tutoriel où vous voyez le titre Accès à un fichier texte .
Mise à jour : j'ai moi-même créé un DSN sur un fichier .csv pour pouvoir créer ce tutoriel pas à pas ... le voici:
À ce stade, vous devez disposer d'un fichier DSN avec lequel vous pouvez accéder à votre fichier .csv via ODBC. Si vous inspectez votre dossier où le fichier .csv est placé, vous verrez un fichier schema.ini, qui contient la configuration que vous venez de créer. Lorsque vous avez plusieurs fichiers .csv, chacun correspond à une table et chaque table aura un bloc [ nom de fichier .csv] dans le fichier schema.ini dans lequel les différentes colonnes sont définies ... Vous pouvez également créer / modifier ce schéma Fichier .ini directement dans un éditeur de texte au lieu d'utiliser l'interface graphique décrite ci-dessus.
Quant à votre question supplémentaire "comment se connecter à ce fournisseur ODBC à l'aide d'un outil de requête":
j'ai un outil que j'ai écrit moi-même il y a longtemps et qui n'est pas éligible à la publication. Mais une recherche rapide sur Google a abouti à odbc-view , un outil gratuit qui fait ce que vous voulez.
J'ai téléchargé et installé l'outil.
Après avoir démarré l'outil:
Vous devriez maintenant voir le contenu de votre fichier .csv dans le volet inférieur.
J'espère que cela vous aidera ... Faites-moi savoir comment vous faites ou si vous avez besoin d'aide.
la source
J'aime utiliser R pour accéder rapidement aux fichiers csv. Bien que le langage ne soit pas directement SQL, vous pouvez faire toutes ces choses avec des commandes simples dans R. R vous offre également la possibilité de créer de beaux graphiques et beaucoup d'autres pouvoirs.
la source
Vous pouvez toujours lire le fichier dans Excel et utiliser Excel comme source de données via ODBC et exécuter des requêtes sur celui-ci.
la source
J'ai trouvé que le moyen le plus simple d'y parvenir est d'utiliser simplement la fonctionnalité d'importation CSV intégrée de SQLite:
sqlite3 mydatabase.sqlite
sqlite> .mode csv
sqlite> .import mydata.csv <tablename>
Vous avez maintenant une base de données fonctionnelle que vous pouvez interroger comme bon vous semble. J'ai également trouvé que les performances de ce qui précède étaient bonnes, je viens d'importer trois millions de lignes en 10-15 secondes.
la source
J'ai trouvé une petite application non graphique qui fait cela: csvsql .
La documentation est ici .
la source
sqlite3
(l'application en ligne de commande qui lit les bases de données SQLite) a un support intégré pour importer des fichiers - voir ses commandes .separator et .import sur sqlite.org/sqlite.htmlVous pouvez jeter un œil à l'outil gratuit q - Texte en tant que base de données , qui permet d'exécuter SQL directement sur des fichiers csv, y compris les jointures, le regroupement et toute autre construction SQL. Inclut également la détection automatique des noms et des types de colonnes.
C'est un outil en ligne de commande qui correspond au mode de fonctionnement Linux (par exemple, Piping depuis stdin si nécessaire, drapeaux spéciaux pour personnaliser le comportement, etc.).
Utilise sqlite dans les coulisses, donc très léger et facile à utiliser.
Divulgation complète - C'est mon propre outil open source. J'espère que vous le trouverez utile
Harel Ben-Attia
la source
Un outil que j'ai trouvé qui, je pense, pourrait faciliter cela à l'avenir est Resolver One .
C'est une feuille de calcul qui génère du code Python facilement modifiable. Pour ceux qui sont des développeurs et qui ont parfois besoin de "démissionner" pour résoudre des problèmes dans des feuilles de calcul, cela semble être un moyen intuitif de résoudre des problèmes de type tableur dans un langage qu'ils connaissent.
Et cela me donne une excuse pour utiliser Python. Python me fait plaisir.
la source
Le pilote H2 JDBC fournit une fonction csvread très utile, vous permettant de faire des choses comme les suivantes:
Il existe différentes façons d'utiliser ce pilote sans avoir à fouiller dans l'écriture de code pour l'utiliser.
Personnellement, je préfère Squirrel SQL Client qui vous offre une interface graphique agréable pour exécuter des requêtes. Pour l'utiliser, il vous suffit de pointer le
H2 In-Memory
chemin de classe du pilote déjà répertorié vers le pilote H2 que vous avez téléchargé. Une fois que vous avez configuré un alias approprié à l'aide du pilote, vous pouvez exécuter le SQL aléatoire de votre choix. Les résultats sont affichés dans un joli tableau et toutes sortes d'autres fonctionnalités pour l'importation, l'exportation, etc.Alternativement, vous pouvez utiliser Groovy pour écrire un script rapide pour charger et utiliser le pilote si nécessaire. Voir cet exemple de blog pour savoir comment.
Il semble que quelqu'un ait étendu le script groovy ci-dessus et en a fait un bel outil en ligne de commande pour exécuter les requêtes, voir gcsvsql. Avec cela, vous pouvez exécuter des commandes comme les suivantes:
la source
Vous pouvez essayer l' outil Q . Il est très léger, ne nécessite que Python 2.5 ou plus récent.
la source
J'ai écrit un programme en ligne de commande pour exécuter du SQL arbitraire sur des fichiers csv, y compris des jointures multi-fichiers, appelé gcsvsql. Vous pouvez lire à ce sujet ici:
http://bayesianconspiracy.blogspot.com/2010/03/gcsvsql.html
Il existe un projet Google Code pour cela ici: http://code.google.com/p/gcsvsql/
Il est écrit en Java / Groovy et fonctionnera partout où Java est disponible.
Modifier: le projet actif a été déplacé vers github. https://github.com/jdurbin/durbinlib
la source
Deux autres options pour cette tâche: querycsv et fsql . Querycsv est Python et utilise sqlite3. Fsql est Perl et utilise DBD :: CSV .
la source
Bien qu'il ne soit pas gratuit, le meilleur programme que j'ai trouvé pour cela est File Query . Contrairement aux autres solutions qui sont basées sur la ligne de commande, ou nécessitent d'importer / configurer le fichier avant d'y accéder, File Query vous permet d'ouvrir un fichier (même les GB inup comme un éditeur de texte normal, et analysera automatiquement la mise en page pour vous, et vous permet de faire presque toutes vos requêtes à partir de simples dialogues.
C'est un peu cher, mais si vous n'avez besoin de faire qu'une seule fois, vous pouvez toujours utiliser l'essai gratuit de 30 jours. Ils ont également d'excellents guides et même des vidéos pour vous aider à démarrer.
la source
vous pouvez utiliser WHS. Par exemple, j'ai 4 fichiers dans le répertoire 'C: \ Users \ user837 \ Desktop \ t4': 1.txt
2.txt
schema.ini
et Hello.js
Maintenant, double-cliquez simplement sur Hello.js et vous verrez sql reqult ligne par ligne. Voir la documentation WHS pour afficher tous les résultats de la requête.
la source
Il existe un plugin Notepad ++ CsvQuery pour exécuter des requêtes sql sur des fichiers csv ouverts dans npp. https://github.com/jokedst/CsvQuery
la source