引き続き初学者です。
気象庁がCSVファイルで提供している「最新の気象データ」を、Google Apps Scriptによって様々加工、活用したいと考えています。
その中で、例えば1時間降水量ファイルをGASで配列化した上で、filterとindexOfを北海道分の配列要素を抽出しようといろいろ試したのですが、どうもうまく行きません。
検索した知識を繋ぎ合わせて作ったコードは以下の通りです。
function auto_csv() { var url_1h = "https://www.data.jma.go.jp/obd/stats/data/mdrr/pre_rct/alltable/pre1h00_rct.csv"; var response_1h = UrlFetchApp.fetch(url_1h); var data_1h = response_1h.getContentText("Shift_JIS"); var csv_1h = Utilities.parseCsv(data_1h); var result_1h = csv_1h.filter(function(value){ if(value.indexOf('北海道')!==-1){ return value } }); }
こうすると取得できるのはカラの配列になってしまいます。
厄介なのは、北海道は広いので、都道府県名に当たる配列要素は「北海道」だけでなく「北海道 宗谷地方」のように14の地方に分かれていることです。
コード中の('北海道')を('北海道 宗谷地方')と完全一致するように変えれば同地方について抽出できることは確認したました。北海道以外の('青森県')なども多分問題ないと思います。配列要素の中から「北海道」を含む文字列を一部一致、前方一致で判別し、北海道の全14地方を一括して抽出する方法はないものでしょうか。
それと、できれば最上段の見出し部分(観測所番号,都道府県,地点,国際地点番号,現在時刻…)も同時に取得したいのですが、その際は「||(OR)」演算子を使うことになるのでしょうか。
恐れ入りますが、どなたかご教唆いただけたら幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/13 07:55
2019/11/24 07:35