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