気象庁(AMeDAS)の月降水量データ取得(2)

今回は前回言ったように、同じ2つのデータを取り除きますが、その前にa(測候所なし)とs(測候所あり)に分けます。

Rubyを用いてa(測候所なし)とs(測候所あり)に分けたデータの取得

エディターを立ち上げ以下のように入力します。ファイル名は「abstract_csv.rb」として保存してください。
out_file = "c:/ronbun/data/new_csv_all.txt"       # 測候所なし
#out_file = "c:/ronbun/data/new_csv_all_s.txt"     # 測候所あり
out = open(out_file,"w")
  file = "c:/ronbun/data/csv_all.txt"
  open(file).each do |line|                       # ファイルを開き、1行ずつ読む
    if /a/ =~ line                                # 測候所なし
#    if /s/ =~ line                                # 測候所あり
      puts line
      l = line.chomp                              # 改行を消す
      out.printf "%s\s",l                         # \sはスペース
      printf "%s\s",l
    else
      ##
  end
end
※s(測候所ありのデータがほしいなら)out_fileとifではじまるところの#を入れ替えて下さい

加工データの表示

コマンドプロンプトを立ち上げて下さい。
「abstract_csv.rb.rb」が存在するディレクトリまで移動します。
ここで、
ruby abstract_csv.rb
と打つと以下の様になっています。
※これはs(測候所あり)を取得したものです

Rubyを用いて同じ2つのデータを取り除く

エディターを立ち上げ以下のように入力します。ファイル名は「abstract_csv2.rb」として保存してください。
out_file = "c:/ronbun/data/p_new_csv_all.txt"     # 測候所なし
#out_file = "c:/ronbun/data/p_new_csv_all_s.txt"   # 測候所あり
out = open(out_file,"w")
file = "c:/ronbun/data/new_csv_all.txt"           # 測候所なし
#file = "c:/ronbun/data/new_csv_all_s.txt"         # 測候所あり
v = []                                            # 配列の初期化
i = 1
while i < 2933                                    # 測候所なし
#while i < 318                                     # 測候所あり
  open(file).each do |line|
    l = line
    v = l.chop.split(" ")
    out.printf "%s\n",v[i]
    i += 2
  end
end
※s(測候所ありのデータがほしいなら)out_fileとfileとwhileではじまるところの#を入れ替えて下さい

加工データの表示

コマンドプロンプトを立ち上げて下さい。
「abstract_csv2.rb」が存在するディレクトリまで移動します。
ここで、
ruby abstract_csv2.rb
と打つと以下の様になっています。

今回はここまでになります。
お疲れ様でした。

タグ:

+ タグ編集
  • タグ:
最終更新:2011年05月13日 17:03
添付ファイル