こんにちは。3カ月とかなり間が空きました が、とりあえず気象庁データのスクレイピング実験メモとして、データを取っている各地のシートを新しく作るところまでやっていきます。
前回の記事で、以下のようなデータを作っていました。
今回は、このシートのデータから新しいシートを作ります。
まずは最初の稚内のデータから行ってみましょう。
コードはこちら。
var folderID="********************************";//ファイルを作りたいフォルダ(google drive) function createSS(){ var bookurl_masterbook = https://docs.google.com/spreadsheets/d/”**********************************指定のマスタがあるファイル var masterbook = SpreadsheetApp.openByUrl(bookurl_masterbook); var sheet_master = masterbook.getSheetByName("data_2");//前回を継承してdata_2にしましたが、他の名前にした場合は変えてください var textArr = sheet_master.getRange(2,1,1,5).getValues(); var title=textArr[0][0]+"-"+textArr[0][3]+textArr[0][2]+"("+textArr[0][1]+":"+textArr[0][4]+")"; //新しくスプレッドシートを作成する:https://qiita.com/tanaike/items/8c82392ef2749892061c var ss = Drive.Files.insert({ "title": title, "mimeType": "application/vnd.google-apps.spreadsheet", "parents": [{"id": folderID}] }); var book_new = SpreadsheetApp.openById(ss.id); //シート名をすべて取得 https://www.wmapst.net/google/gss/20161207-google-spreadsheet-sheet-name-get/ var names_booknew = wmap_getSheetsName2(book_new); //シート名を変更 http://nevernoteit1419.blogspot.jp/2012/01/blog-post_2201.html var sheet_data=book_new.getSheetByName(names_booknew[0]); sheet_data.setName("data"); Logger.log(names_booknew); SpreadsheetApp.setActiveSpreadsheet(book_new); } function wmap_getSheetsName2(book){ var sheets = book.getSheets();//ちょっとカスタマイズ var sheet_names = new Array(); if (sheets.length >= 1) { for(var i = 0;i < sheets.length; i++) { sheet_names.push(sheets[i].getName()); } } return sheet_names; }
実行すると、稚内のスプレッドシートができ、中のシート名が「data」になります。
とりあえずここまで。今回はフォルダIDを指定してデータを作っています。ここをさらに複雑にすると、フォルダの中にもう一つ都道府県のフォルダを作って、その中に格納することなんかもできそうですね。
コメント