2017年4月30日日曜日

気象庁のサイトから気温を抽出し、エクセルに取り込んでみよう。

ついに、前の記事にて下準備が終わりました!
今回は、チュートリアルとして、実際に文字を抽出してみましょう。

具体的には、この記事では下のようなことをやってもらいます。

気象庁のサイトから気温データを入出し、
最終的に、この画像のような結果を得る作業を体感し、
ソフトウェアによる自動化のパワーを感じてもらいます。


なお、この記事は、既にあなたが”もじ堀ノ助”のインストールが済んでいることを想定しています。記事に沿って作業を進めてみれば、大きな学びが得られるでしょう。

インストール方法は次の2つの記事で。

1.インストール |”もじ堀ノ助のインストール方法”
2.最適なテキストエディタの導入 |”メモ帳を捨てよ。エディタを選べ。”

1.作業フォルダの準備

まずは作業用のフォルダを作りましょう。
適当な場所に、適当な名前でフォルダを作成してください。

フォルダの作り方は分かりますか?
デスクトップで、右クリック->"新規作成"->"フォルダー" で作れます。

そうしたら、黒い画面でおなじみの"コマンドプロンプト"を起動しましょう。
方法はインストールの記事の時にやったように、
フォルダーを開いて、パスのテキストボックスに"cmd"と入力してEnterキーです。

2.バージョンの確認

バージョンを確認しましょう。

moji --version

で確認できます。
v0.0.5以上であることを確認してください。

バージョンがそれ以前の場合、再インストールをお願いします。
インストール記事の、1,2の作業だけで大丈夫です。3のパスを通す作業は不要です。
つまり、ダウンロードしてzipファイルを解凍し、"install.bat"をクリックするだけですね。

3.気象庁のサイトから気温の情報をもってくる

日最高気温一覧表のサイトに移動して、Ctrl+Aキーで、サイト内の全てを選択し、
Ctrl+C、または右クリック->"コピー"で、サイト内のテキストをコピーします。

サクラエディタを開いて、コピーしたテキストを全て貼り付け、"kion.txt"という名前で、さきほど作ったフォルダに保存してください。

これで、抽出対象のテキストファイルは準備完了です。



4.パターンを記述

moji template ptn.txt

コマンドプロンプトで、上のコマンドを入力すると、
”ptn.txt”というファイルが生成されます。
中身は下のようなパターンの雛形になっています。



それでは、下のコードをコピペしてください。
ダブルクリックで全部選択できます。そして、右クリック、”コピー”を選んでください。
(今はこの中身については考えないでください!)

@pattern
main {
  eol >
  word$pref > option(" " > word$area) > space > (word > option("*"))$pnt > spaces
  > number$temp > space > ")" > space > digits$hour > ":" > digits$min > ")"
  > space > option(("+"|"-") > number)$ave > space > option(("+"|"-") > number)$pre > space > option(wordnum)$gaitou > space
  > option(word)$saikou
}
@format
  $pref,$area,$pnt,$temp,$hour"時"$min"分",$ave,$pre,$gaitou,$saikou
@end

5.実行

あとは実行するだけです。
コマンドプロンプトに以下のように入力してください。

moji -ikion.txt -pptn.txt

このコマンドの意味はこうです。

 
moji -iテキストファイル -pパターンファイル

Enterキーを押して、コマンドを実行しましょう。
このような結果が出力されるはずです。

.
.
.
沖縄県,,与那国島,24.6,15時50分,-2.0,+0.9,4月上旬並
沖縄県,,西表島,25.0,13時09分,-1.7,+1.5,4月中旬並
沖縄県,,石垣島,25.0,16時03分,-2.1,+1.0,4月上旬並
沖縄県,,大原,24.1,12時26分,-3.2,+0.8,3月中旬並
沖縄県,,波照間,24.9,13時29分,-2.3,+1.3,4月上旬並

画面を上にスクロールさせて、結果を確認しましょう。
これだけの情報が一瞬で処理される瞬間は、気持ちいいものです。

エクセルに取り込もう

これをファイルに出力して、エクセルに取り込んでみましょう。

ファイルへ出力するには、"-o"オプションを使います。

moji -ikion.txt -pptn.txt -oout.csv

これを実行すると、結果は画面には出力されずに、
"out.csv"というファイルが作成されます。

エクセルをインストールされている方であれば、
これを開くと自動的にエクセルが起動するはずです。



このようにして、WEBサイトの内容を少ない作業でエクセルに取り込むことができました!
しかも、一度パターンを書いてしまえば、次からはコマンドを実行するだけで、取り込みが完了してしまうのです。
このようにして、プログラミングなしでも、効率的にテキストを抽出することに成功しました。

このソフトウェアはまだ至らないところがある

実は、この抽出結果は、全ての情報を抽出できているわけではありません。地名に”・”が入っている行は抜き出せていないのです。これは今後のソフトウェアの改善で対応していきたいと思います。


0 件のコメント:

コメントを投稿