JSONをCSVにしてくれというご要望が。JSONのままか、DBに放り込んだほうがハンドリングはラクだと思うんだが。しかも「Windowsで」という話。なんか一番厄介な組み合わせになってしまった。
先頭文字列削除jsの作成
元データJSONはテキストになっているのだが、厳密にいうと先頭56文字にタイムスタンプや発信元情報があり、JSONになっていない。そのタイムスタンプや発信元情報56文字を削除するJavaScriptを書いた。
var strScriptPath;
var strReadFile;
var strWriteFile;
var objReadStream;
var objWriteStream;
var strText;
var JSONText;var objFileSys = new ActiveXObject("Scripting.FileSystemObject");
strScriptPath = String(WScript.ScriptFullName).replace(WScript.ScriptName,"");
strOpenFile = objFileSys.BuildPath(strScriptPath, "acdc.txt");
strWriteFile = objFileSys.BuildPath(strScriptPath,"acdc.json");objReadStream = objFileSys.OpenTextFile(strOpenFile);
objWriteStream = objFileSys.OpenTextFile(strWriteFile, 2, true);while (objReadStream.AtEndOfLine==false) {
strText = objReadStream.ReadLine();
JSONText = strText.slice(56);
objWriteStream.WriteLine(JSONText);
}
objReadStream.Close();
objWriteStream.Close();objReadStream = null;
objWriteStream = null;
objFileSys = null;
Go言語のインストール
Go概要
これでjson2csvインストール済マシンがあればcsvに切り出せるのだが、Windowsでというご要望なのでjson2csvをインストールしなければならない。
json2csvはGo言語でできている。Go言語はGoogle製である。Go (プログラミング言語) - Wikipediaから引用する。
Goはプログラミング言語のひとつ。グーグル社によって開発されており[4]、設計にロブ・パイク、ケン・トンプソンらが関わっている。
主な特徴として、軽量スレッディングのための機能、Pythonのような動的型付き言語のようなプログラミングの容易性、などがある。Go処理系としてはコンパイラのみが開発されている。
発表当初はLinuxとMac OS Xのみしかサポートしていなかったが[5]、2012年3月にリリースされたバージョン1からはWindowsもサポートされている[6]。また、2011年5月10日に公開された Google App Engine 1.5.0 でも、Go言語がサポートされている[7]。
- 作者: David Chisnall,デイビッド・チズナール,柴田芳樹
- 出版社/メーカー: ピアソン桐原
- 発売日: 2012/10/04
- メディア: 単行本(ソフトカバー)
- 購入: 1人 クリック: 5回
- この商品を含むブログを見る
Go言語インストール
Downloads - go - The Go Programming Language - Google Project Hostingから最新のmsiファイルをダウンロードする。
go1.2.1.windows-amd64.msiを実行する。[Next]をクリックする。
[Next]をクリックする。
[Install]をクリックする。
[Next]をクリックする。
UACが動くので承諾して進める。
全部終了するとこの画面になる。[Finish]をクリックする。
Go言語の環境変数設定
インストールは完了したのだが、このままではパスが通っていないため使えない。設定する環境変数は下記の3つ。
- GOPATH
- GOROOT
- PATH
Windows 8.1にインストールしたので、[Windows]+[X]でメニューを出し、「システム(Y)」を選ぶ。
システムが表示されるので「システムの詳細設定」を選択する。
システムのプロパティが表示されるので、[環境変数(N) …]をクリックする。
設定した後なのでGOPATH,GOROOTなども存在しているがこういう画面に切り替わる。最初の設定ではGOPATH,GOROOTは存在しないので、[新規]をクリックして設定する。
GOPATHはこのように設定する。このc:\go\projectというフォルダは存在しないので、別途作成しておく。
続いてGOROOT。さきほどのインストールでGo言語をインストールしたフォルダを指定する
最後はPATHである。PATHは、これまでの設定情報を壊さないように、気を付ける必要がある。末尾にこのように設定する。
パスが通ったかどうかの確認。コマンドプロンプトでgoと入れてみる。
このようにメッセージが表示されれば環境変数設定はOK。
これでGo言語は完了。長くなったのでここで一旦切る。