CSVファイルを開いて基本的なSQLesqueクエリを実行できるシンプルなツールを知っている人はいますか?一種のグラフィカルツールのように、使いやすいツールです。
CSVをSQLiteデータベースにインポートするための小さなスクリプトを作成できることはわかっていますが、他の誰かがこのことを自分の前で考えていることを想像しているので、存在するかどうか調べてみました。この質問を引き起こしているのは、Excelの制限されたフィルタリング機能に不満を感じていることです。
おそらく、他のいくつかのデータ視覚化操作ツールが同様の機能を提供するでしょう。
無料またはOSSが推奨されますが、私はあらゆる提案を受け入れます。
編集:
「シートをODBCエントリにする」または「ODBCファイルを使用してプログラムを作成する」ではなく、以下を実行する方法についていくつかの明確なチュートリアルを希望します、または使用するアプリに関するその他のアイデア注:MS Accessは使用できません。
さらに別の編集:
SQLiteを使用したソリューションはまだ開いています。私のプラットフォームは、P4が搭載された半古代のWin2kラップトップです。それはかなり遅いので、リソースライトソリューションが理想的であり、おそらく勝つでしょう。
LogParser を試しましたか?
ログパーサーは、ログファイル、XMLファイル、CSVファイルなどのテキストベースのデータや、イベントログ、レジストリなどのWindows®オペレーティングシステムの主要なデータソースへのユニバーサルクエリアクセスを提供する強力で用途の広いツールです。ファイルシステム、およびActiveDirectory®。必要な情報とその処理方法をLog Parserに伝えます。クエリの結果は、テキストベースの出力でカスタム形式にすることも、SQL、SYSLOG、チャートなどのより特殊なターゲットに永続化することもできます。
ほとんどのソフトウェアは、限られた数の特定のタスクを実行するように設計されています。 Log Parserは異なります... Log Parserを使用できる方法の数は、ユーザーのニーズと想像力によってのみ制限されます。世界は、Log Parserを備えたデータベースです。
SQLのようなクエリ言語をCSVファイルで使用する場合の チュートリアル (および 別の1つ )I googleを使用して検出 。
クエリの例:
logparser -i:CSV "SELECT TOP 10 Time, Count INTO c:\logparser\test\Chart.GIF
FROM c:\logparser\test\log.csv ORDER by Time DESC" -charttype:bar3d
OpenOffice.org Database はあなたがやりたいことをできると思います。それはこのように動作します。
Open Office.orgデータベースを起動すると、「データベースウィザード」が表示されます
「既存のデータベースに接続:テキスト」を選択します
テキストファイルへのパスと、区切り文字などの詳細を指定します。
クエリを作成して実行する
Microsoft Accessを使用したことがあれば、GUIはなじみ深いものです。
GUIなしで実行できる場合、常に従来のUNIXコマンドがあります。 (小さな)CSVファイルへの単純なクエリを実行するためにそれらを頻繁に使用します。以下にその仕組みを示します。
clause operation command
-------------------------------
from join `join`
where restriction `grep`
order by -- `sort`
group by restriction `awk`
having restriction `grep`
select projection `cut`
distinct restriction `uniq`
limit restriction `head`
offset restriction `tail`
ODBCを使用してテキストファイルをクエリできます。
ODBCデータプロバイダー)を使用してテキストファイルにアクセスする
注これを機能させるためにMS Accessは必要ありません。上記のリンクのチュートリアルでは、MS Accessを使用してテキストファイルを作成しますが、すでにテキストファイルがあり、途中までスクロールして、タイトルが表示されているチュートリアルを開始しますテキストファイルへのアクセス。
更新:.csvファイルにDSNを自分で作成して、このステップバイステップチュートリアルを作成できるようにしました...
この時点で、ODBCを介して.csvファイルにアクセスできるファイルDSNが必要です。 .csvファイルが置かれているフォルダーを調べると、作成した構成が含まれているschema.iniファイルが表示されます。複数の.csvファイルがある場合、それぞれがテーブルに対応し、各テーブルはschema.iniファイルに[filename。csv]ブロックを持ち、異なる列が定義済み...上記のGUIを使用する代わりに、テキストエディタでschema.iniファイルを直接作成/変更することもできます。
あなたの余分な質問については「これに接続する方法ODBCクエリツールを使用してプロバイダー」:
私はずっと前に自分で書いたツールを持っていますが、それは公開の対象ではありません。しかし、Googleのクイック検索で odbc-view が思いついた。
ツールをダウンロードしてインストールしました。
ツールを起動した後:
下のペインに.csvファイルの内容が表示されます。
これがお役に立てば幸いです...どうすればよいか、またはさらにサポートが必要かどうかをお知らせください。
[〜#〜] r [〜#〜] を使用してcsvファイルに高速でアクセスするのが好きです。言語は直接SQLではありませんが、Rの単純なコマンドでこれらすべてのことを実行できます。Rには、ニースグラフを作成する機能やその他の多くの機能もあります。
これを実現する最も簡単な方法は、SQLiteの組み込みCSVインポート機能を使用することです。
sqlite3 mydatabase.sqlite
sqlite> .mode csv
sqlite> .import mydata.csv <tablename>
これで、好きなようにクエリを実行できる稼働中のデータベースができました。また、上記のパフォーマンスは良好であることがわかりました。300万行を10〜15秒でインポートしました。
いつでもファイルをExcelに読み込み、ODBCを介してデータソースとしてExcelを使用し、それに対してクエリを実行できます。
無料のツール q-データベースとしてのテキスト をご覧ください。これにより、結合、グループ化、その他のSQL構造を含むcsvファイルに対してSQLを直接実行できます。列名と列タイプの自動検出も含まれます。
これは、Linuxの操作方法に一致するコマンドラインツールです(たとえば、必要に応じてstdinからのパイピング、動作をカスタマイズするための特別なフラグなど)。
舞台裏でsqliteを使用しているため、非常に軽量で使いやすいです。
完全な開示-それは私自身のオープンソースツールです。お役に立てば幸いです
ハレルベンアティア
Qツール を試してみてください。非常に軽量で、Python 2.5以降のみが必要です。
私は、csvsqlと呼ばれるマルチファイル結合を含むcsvファイルに対して任意のSQLを実行するコマンドラインプログラムを作成しました。あなたはそれについてここで読むことができます:
http://bayesianconspiracy.blogspot.com/2010/03/gcsvsql.html
ここにGoogle Codeプロジェクトがあります: http://code.google.com/p/gcsvsql/
それはJava/Groovyで書かれており、どこでも実行できますJavaが利用可能です。
編集:アクティブなプロジェクトがgithubに移動されました。 https://github.com/jdurbin/durbinlib
将来これを簡単にする可能性があると私が思うツールは Resolver One です。
これは、Pythonコードを簡単に変更できるコードを生成するスプレッドシートです。開発者であり、スプレッドシートの問題を解決するために「ステップダウン」する必要がある場合、これはスプレッドシートを解決する直感的な方法のようです-彼らが精通している言語の風変わりな問題。
そして、それは私にPythonを使う言い訳をします。 Python私を幸せにします。
H2 JDBCドライバーは非常に便利なcsvread関数を提供し、次のようなことを実行できます。
select * from csvread(test1.csv) test1
inner join csvread(test2.csv2) test2
on test1.id = test2.foreignkey
このドライバーを使用するためのコードを深く掘り下げる必要なしに、このドライバーを使用するさまざまな方法があります。
個人的には、クエリを実行するための素晴らしいGUIを提供する Squirrel SQL Client を好みます。これを使用するには、既にリストされているH2 In-Memory
DriverクラスパスをH2ドライバーにポイントするだけですダウンロードしました。ドライバーを使用して適切なエイリアスを設定したら、ランダムなSQLを実行できます。結果は、Niceテーブルと、インポート、エクスポートなどの他のあらゆる機能に表示されます。
または、Groovyを使用して簡単なスクリプトを記述し、必要に応じてドライバーを読み込んで使用することもできます。方法については この例のブログ投稿 を参照してください。
誰かが上記のgroovyスクリプトを拡張し、それをNiceコマンドラインツールにしてクエリを実行したようです。gcsvsqlを参照してください。これにより、次のようなコマンドを実行できます。
gcsvsql "select * from people.csv where age > 40"
このタスクの2つのオプション: querycsv および fsql 。 QuerycsvはPythonであり、sqlite3を使用します。FsqlはPerlで、 DBD :: CSV を使用します。
wHSを使用できます。たとえば、ディレクトリ「C:\ Users\user837\Desktop\t4」に4つのファイルがある場合:1.txt
id;sex_ref;sale
1;1;10
2;2;30
3;1;20
2.txt
sex_id;name
1;male
2;female
schema.ini
[1.txt]
Format=Delimited(;)
ColNameHeader=True
MaxScanRows=50
DecimalSymbol=,
[2.txt]
Format=Delimited(;)
ColNameHeader=True
MaxScanRows=50
DecimalSymbol=,
とHello.js
WScript.Echo("Hello World!");
var cn = new ActiveXObject("ADODB.Connection");
cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"C:\\Users\\user837\\Desktop\\t4\";Extended Properties=\"text;HDR=NO;FMT=Delimited\"");
var rs = cn.Execute("select * from 1.txt as t1 left join 2.txt as t2 on t1.sex_ref = t2.sex_id");
while (!rs.EOF)
{
WScript.Echo( rs.Fields("id").Value
+ "###" + rs.Fields("sex_ref").Value
+ "###" + rs.Fields("name").Value
);
rs.moveNext();
}
Hello.jsをダブルクリックすると、sql requltが1行ずつ表示されます。すべてのクエリ結果を表示するには、WHSのドキュメントを参照してください。
Nppで開かれたcsvファイルに対してSQLクエリを実行するNotepad ++プラグインCsvQueryがあります。 https://github.com/jokedst/CsvQuery
無料ではありませんが、このために見つけた最高のプログラムは File Query です。コマンドラインベースであるか、ファイルにアクセスする前にファイルのインポート/設定を必要とする他のソリューションとは異なり、File Queryを使用すると、ファイルを開くことができます(通常のテキストエディターのように最大でGBであり、レイアウトを自動的に解析します)。簡単なダイアログからほぼすべてのクエリを実行できます。
それは少し高価ですが、何かを一度だけ行う必要がある場合は、いつでも無料で30日間の試用版を使用できます。彼らはまた、あなたが始めるための素晴らしい ガイドとビデオさえ を持っています。