アットウィキロゴ

renshu7

var sta=new Array();
var city=new Array();
var ex; 
 
function myFunction() {
 
 
 var id="1uNHvATlr_AoJBxQ8uSrAtl0F-vqxB_7TLic91dkHH1A"; 
 ex = SpreadsheetApp.openById(id);
 var sheet = ex.getSheetByName("rev");
 
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("data");
 
  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=5000;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);  
 
  }
 
}
 
最終更新:2017年04月04日 08:40