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