アットウィキロゴ

don276

var sta=new Array();
var city=new Array();
var ex; 
 
function myFunction() {
 
 
 var id="14hn_qUuSVlBTEtVL8uDWETblGfFu0RrMVYLBxEH9HwM"; 
 ex = SpreadsheetApp.openById(id);
 var sheet = ex.getSheetByName("data");
 
var v=sheet.getRange(1,1,10221,8).getValues();
 
  sx=0;
  for(s=1;s<10220;s++){
  h=0;
  str=""+v[s][2];  
  strx=""+v[s][1];
  if(str.indexOf("京浜急行電鉄")>-1)h=h+1;
  if(strx.indexOf("本線")>-1)h=h+1;
  if(h==2)sx=sx+1;
  if(h==2)sta[sx]=v[s][0];
  if(h==2)city[sx]=v[s][7];
 
  }
 
  number=sx;
 
 
  dicnumber=0;
 
  var dic=new Array();
 
  for(s=1;s<number+1;s++){
    h=0;
    for(sx=1;sx<dicnumber+1;sx++){
  if(city[s]==dic[sx])h=100;
    }
  if(h<50)dicnumber=dicnumber+1;
  if(h<50)dic[dicnumber]=city[s];  
  }
 
  Logger.log(dicnumber);
 
  var shx = ex.getSheetByName("rev");
 
  var dicx=new Array();
 
  for(sx=0;sx<dicnumber+1;sx++){
  dicx[sx]=new Array();
  }
 
 
   for(sx=1;sx<dicnumber+1;sx++){
    dicx[sx][0]=dic[sx];  
    }
 
 
  dicx[0][0]="市町村コード";
 
shx.getRange(1,1,dicnumber+1,1).setValues(dicx);
 
for(s=1;s<dicnumber+1;s++){  
var vk=""+dic[s];
ex.insertSheet(vk);
}
 
for(trn=1;trn<dicnumber+1;trn++){   
f(dic[trn]); 
}
 
 
 
 
}
 
 
 
 
function f(foo) {
 
  var point=new Array();
var year=new Array();
var v=new Array();
 
 
 r1=""+foo;
r2=r1.substring(0,2);  
 
Logger.log(r1);  
 
 urlx="https://opendata.resas-portal.go.jp/api/v1/population/composition/perYear?cityCode="+r1+"&prefCode="+r2;
 
 
 
 var he = {
    'X-API-KEY': 'QTPchshTtS5JGmrEw0ELladqSbGwnKxh5KVqmZvU'
  };       
 
 
   var op = {
   'headers' : he
 };     
 
 
      str="";
      try {
 
 var res = UrlFetchApp.fetch(urlx,op);
        str=res.getContentText();
 
    } catch (e) { Logger.log("Fail");}
 
 
 
p1=str.indexOf("label");
p2=str.indexOf("label",p1+1);
p3=str.indexOf("label",p2+1);
p4=str.indexOf("label",p3+1);
p5=str.length;
 
  for(tr=1;tr<5;tr++){
 
  if(tr==1)strx=str.substring(p1,p2);
  if(tr==2)strx=str.substring(p2,p3);
  if(tr==3)strx=str.substring(p3,p4);
  if(tr==4)strx=str.substring(p4,p5);
 
 
  var x=strx.split(",{");
 
  var x1=new Array();
  sx=0;
  for(s=0;s<x.length;s++){
  if(x[s].indexOf("year")>-1)sx=sx+1;
     if(x[s].indexOf("year")>-1)x1[sx]=x[s];
 
  }
 
  number=sx;
   for(s=1;s<number+1;s++){
   q1=x1[s].indexOf("year");
   q1=x1[s].indexOf(":",q1);
   q2=x1[s].indexOf(",",q1);
   year[s]=x1[s].substring(q1+1,q2); 
  q1=x1[s].indexOf("value");
  q1=x1[s].indexOf(":",q1);
  q2=x1[s].indexOf(",",q1);
   if(q2==-1)q2=x1[s].indexOf("}",q1);
   v[s]=x1[s].substring(q1+1,q2); 
   }
 
  for(s=0;s<number+1;s++){
  point[s]=new Array();
  }
 
  point[0][0]="year";
  if(tr==1)point[0][1]="総人口";
  if(tr==2)point[0][1]="年少人口";
  if(tr==3)point[0][1]="生産年齢人口";
  if(tr==4)point[0][1]="老年人口"; 
 
    for(s=1;s<number+1;s++){
  point[s][0]=year[s];
  point[s][1]=v[s];
  }
 
 var sheet = ex.getSheetByName(r1); 
 
 sheet.getRange(1,2*tr-1,number+1,2).setValues(point);  
 
  }
 
}
 
function plus(){
 
var id="14hn_qUuSVlBTEtVL8uDWETblGfFu0RrMVYLBxEH9HwM"; 
var ex = SpreadsheetApp.openById(id);  
 
 n=ex.getNumSheets();
var namex=new Array(); 
 var year=new Array();
sx=0;  
for(s=0;s<n;s++){  
var shx = ex.getSheets()[s];
se=shx.getName(); 
z=0;  
if(se.indexOf("data")>-1)z=100;
if(se.indexOf("rev")>-1)z=100;
if(se.indexOf("plus")>-1)z=100;
if(z<50)sx=sx+1;
if(z<50)namex[sx]=""+se;
}
 
number=sx;
 
Logger.log(number);  
 
  var vs=new Array();
  for(s=1;s<14;s++){
  vs[s]=0;
  }
 
  for(s=1;s<number+1;s++){  
var sheet = ex.getSheetByName(namex[s]);
  var v=sheet.getRange(1,1,14,8).getValues();
    for(sx=1;sx<14;sx++){
    vs[sx]=vs[sx]+v[sx][1];
    year[sx]=v[sx][0];
    Logger.log(year[sx]);
    }
  }
 
  var shx=ex.getSheetByName("plus");
 
  var point=new Array();
  for(s=0;s<14;s++){
  point[s]=new Array();
  }
 
  point[0][0]="年";
  point[0][1]="人口";
 
  for(s=1;s<14;s++){
   point[s][0]=year[s];
   point[s][1]=vs[s];
  Logger.log(year[s]);
  }
 
 
  shx.getRange(1,1,14,2).setValues(point);
 
 
}
 
最終更新:2017年04月04日 12:01