eightban's memo

残しておきたい記事をまとめてみました。

windows

CSVファイルから条件に合ったものをSQLで抽出し必要な項目を出力するには ~  Windows

更新日:

LTSV,JSON,XMLなどのテキストファイルを使用することもありますが、現在もCSVやTSVファイルを扱うことが多いと思います。excelでも抽出はできますが、前ゼロが取れたり、大量のデータでは処理に時間がかかるだけでなく手作業のためミスを誘発する可能性があります。

バッチ処理で使用することを考え、コマンドラインベースで処理できるプログラムを検討します。このようなプログラムはcsv paser(csvパーサー)と呼ばれます。

Log Parser

Microsoft製のツールでSQLが書けます。日本語対応しています。

https://www.microsoft.com/ja-jp/download/details.aspx?id=24659

からLogParser.msiをダウンロードしてインストールします。

CSVのヘルプは

CSVをインプットにしたサンプル

-dtLines=0とするとすべてstringで処理されるので型がうまくいかない場合は利用してください。

結果はfilenameとRowNumberが入るのでcut.exeで対応してください。

Log Parser Studio

Log Parser StudioはLog ParserのGUI版ですが、Log Parserがインストールされている必要があります。

https://gallery.technet.microsoft.com/Log-Parser-Studio-cd458765

LPSV2.D2.zipを解凍して動かします。

q - Text as Data

コマンドラインベースのツールでCSVをSQLの構文で扱えます。

http://harelba.github.io/q/ja/index.html

pythonベースですが、windowsのインストーラの場合にpythonはインストール不要です。

"C:\Program Files (x86)\q-TextAsData\q.exe" にバイナリがインストールされます。

Pyinstallerで実行ファイルの作成もできます。

SJISの文字コードも扱えます。

trdsql

コマンドラインベースのツールでCSVをSQLの構文で扱えます。go言語ベースですが、こちもgo言語のインストールは不要です。

https://github.com/noborus/trdsql/releases

64ビットは trdsql_windows_amd64.zip

解凍するだけです。

SJISの文字コードは扱えないのでnkf,iconvなどでutf8に変換してから処理してください。

textql

コマンドラインベースのツールでCSVをSQLの構文で扱えます。go言語ベースでgo言語のインストールが必要です。

https://github.com/dinedal/textql

clone or downloadでdownloadします

実行ファイルが配布されていないのですがコンパイルするには、git,gccがあるとよいです。

https://github.com/git-for-windows/git/releases/tag/v2.23.0.windows.1

PortableGit-2.23.0-32-bit.7z.exe
PortableGit-2.23.0-64-bit.7z.exe

解凍してpathを通します

msys32

https://sourceforge.net/projects/msys2/

インストールしたあとgcc.exeに通します

go get -u github.com/dinedal/textql/...

でビルドします

csvq

コマンドラインベースのツールでCSVをSQLの構文で扱えます。go言語ベースですが、こちもgo言語のインストールは不要です。

https://github.com/mithrandie/csvq

https://github.com/mithrandie/csvq/releases

windows版は

csvq-v1.11.5-windows-386.tar.gz
csvq-v1.11.5-windows-amd64.tar.gz

をダウンロードしてください。

SJISの文字コードも扱えます。

-windows

Copyright© eightban's memo , 2019 All Rights Reserved Powered by STINGER.