我在Google trix中有一个源转储,如下所示:
名称月份数量 苹果1月10日 香蕉2月15日 Orrange 1月50日 葡萄3月5日
我需要使用以下电子表格和应用程序来获取网页中的摘要。
月份数量 一月60 2月15 3月5日
有人可以帮忙吗?
答案 0 :(得分:1)
假设您将数据作为csv文件获取。然后,这应该工作。
function monthlyTotals(fileId) {
var fileId=fileId||"default file id";//update your fileId
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Sheet1');//update your sheet name
sh.clear();
var file=DriveApp.getFileById(fileId);
var csv=file.getBlob().getDataAsString()
var dA=Utilities.parseCsv(csv);
var mObj={fA:['Month'],'Month':'Quantity'};//Stuck in my own titles here
dA.forEach(function(r,i){
if(i>0) {//skipped the first line assuming it is a header line
if(!mObj.hasOwnProperty(r[1])) {
mObj[r[1]]=Number(r[2]);
mObj.fA.push(r[1]);
}else{
mObj[r[1]]+=Number(r[2]);
}
}
});
mObj.fA.forEach(function(f,i){
sh.appendRow([f,mObj[f]])
});
}
如果要从数据中获取标题:
function monthlyTotals(fileId) {
var fileId=fileId||"default fileId";
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Sheet1');
sh.clear();
var file=DriveApp.getFileById(fileId);
var csv=file.getBlob().getDataAsString();
var dA=Utilities.parseCsv(csv);
var mObj={fA:[]};
dA.forEach(function(r,i){
if(i>0) {
if(!mObj.hasOwnProperty(r[1])) {
mObj[r[1]]=Number(r[2]);
mObj.fA.push(r[1]);
}else{
mObj[r[1]]+=Number(r[2]);
}
}else{
mObj[r[1]]=r[2];
mObj.fA.push(r[1]);
}
});
mObj.fA.forEach(function(f,i){
sh.appendRow([f,mObj[f]])
});
}