function myFunction() {
codex="000"+"3131560";
urlx="http://api.e-stat.go.jp/rest/2.1/app/getStatsData?appId=aeec3b02995623cad42b80c80f73d176b7c77970";
urlx=urlx+"&statsDataId="+codex+"&cdTab=490"+"&cdCat01=10";
var response = UrlFetchApp.fetch(urlx);
str=response.getContentText();
Logger.log(str);
p1=str.indexOf("<CLASS_INF>");
p2=str.indexOf("</CLASS_INF>");
strx=str.substring(p1,p2);
var x=strx.split("</CLASS_OBJ>");
number=x.length-1;
var de=new Array();
for(s=1;s<number+1;s++){
de[s]=x[s-1];
}
var namex=new Array();
var codex=new Array();
var namey=new Array();
var codey=new Array();
var numberx=new Array();
for(s=1;s<number+1;s++){
namey[s]=new Array();
codey[s]=new Array();
}
for(tr=1;tr<number+1;tr++){
sp=de[tr];
p1=sp.indexOf("<CLASS_OBJ id=");
p2=sp.indexOf(">",p1);
p3=sp.length;
spx=sp.substring(p1,p2);
spy=sp.substring(p2+1,p3);
q1=spx.indexOf("id=");
q2=spx.indexOf("\"",q1);
q3=spx.indexOf("\"",q2+1);
codex[tr]=spx.substring(q2+1,q3);
q1=spx.indexOf("name=");
q2=spx.indexOf("\"",q1);
q3=spx.indexOf("\"",q2+1);
namex[tr]=spx.substring(q2+1,q3);
var y=spy.split(">");
for(s=0;s<y.length-1;s++){
q1=y[s].indexOf("code=");
q2=y[s].indexOf("\"",q1);
q3=y[s].indexOf("\"",q2+1);
codey[tr][s+1]=y[s].substring(q2+1,q3);
q1=y[s].indexOf("name=");
q2=y[s].indexOf("\"",q1);
q3=y[s].indexOf("\"",q2+1);
namey[tr][s+1]=y[s].substring(q2+1,q3);
Logger.log(namey[tr][s+1]+","+codey[tr][s+1]);
}
numberx[tr]=y.length-1;
}
var credit=new Array();
var point=new Array();
var v=str.split("</VALUE>");
for(s=1;s<v.length;s++){
credit[s]=new Array();
}
for(s=1;s<v.length-1;s++){
k=v[s];
for(sx=1;sx<number+1;sx++){
m1=k.indexOf(codex[sx]);
m2=k.indexOf("\"",m1+1);
m3=k.indexOf("\"",m2+1);
k1=k.substring(m2+1,m3);
credit[s][sx]="";
for(tx=1;tx<numberx[sx]+1;tx++){
if(k1==codey[sx][tx])credit[s][sx]=namey[sx][tx];
}
}
n1=k.indexOf(">");
n2=k.length;
point[s]=k.substring(n1+1,n2);
}
delta=v.length-2;
var datax=new Array();
for(s=0;s<delta+1;s++){
datax[s]=new Array();
}
for(sx=1;sx<number+1;sx++){
datax[0][sx-1]=namex[sx];
}
datax[0][number]="point";
for(s=1;s<delta+1;s++){
for(sx=1;sx<number+1;sx++){
datax[s][sx-1]=credit[s][sx]
}
datax[s][number]=point[s];
}
var ex = SpreadsheetApp.getActiveSpreadsheet();
var sheet =ex.getActiveSheet();
sheet.getRange(1,1,delta+1,number+1).setValues(datax);
}
最終更新:2017年08月11日 04:14