[英]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.