[英]Google App Script/Javascript - Not able to loop through up to the end of Column in Google Spreadsheet using Google App Script
我正在尝试使用 Google 电子表格抓取 3000 多个数据。 我使用 Google App Script 在 A 列中的每个单元格上循环并将其排列在不同的列上。 我能够创建一个简单的脚本,该脚本将循环遍历一个单元格、抓取数据并将其插入到指定的列中。 问题是,我制作的脚本直到列末尾都不会抓取或循环。 即使我在该列上有 3000 多个数据,它也最多只能抓取该列的 1654 个。 数据由个人的多个信息组成。信息由客户的姓名、日期、日期、时间和描述组成。 请注意,将 1 个数据插入到列中的 1 个单元格中。 这意味着我在 A 列中有 3000 多个带有数据的单元格。
样本数据:
John Doe 星期二,06/21/2021,买了 1 包泡泡糖
Trish Smith 星期一,06/21/2021,买了 1 包泡泡糖
Karen Peralta 2021 年 6 月 21 日,星期四,买了 1 包泡泡糖
附加问题。 使用谷歌应用程序脚本循环遍历每个单元格是否有限制?
function rawDataAlteration() {
var days = new Array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday');
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Raw Data');
var data = spreadsheet.getRange('A1:A').getValues();
var filteredData = new Array();
for (q in data) {
if(data[q] != "") {
filteredData.push(data[q]);
}
}
for (x in filteredData) {
if (filteredData[x] != "") {
var convertedToArray = filteredData[x][0].split(',');
var nametoArray = convertedToArray[0].split(' ');
var name = new Array();
var day = "";
var columnNum = Math.floor(x)+1;
var nameColumn = 'A'+ columnNum;
var dayColumn = 'B' + columnNum;
var dateColumn = 'C' + columnNum;
var shiftColumn = 'D' + columnNum;
for(let i in nametoArray){
let found = false;
for(let j in days){
if(nametoArray[i] == days[j]){
day = days[j];
found = true;
}
}
if(!found){
name.push(nametoArray[i]);
}
}
var columnB = spreadsheet.getRange(nameColumn).setValue(name.toString().replace(',', ' '));
var columnD = spreadsheet.getRange(dayColumn).setValue(day);
var columnD = spreadsheet.getRange(dateColumn).setValue(convertedToArray[1]);
// Logger.log(filteredData);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.