【GAS】importrange를 사용한 Spreadsheet에 getDataRange()했을 때, 빈 줄까지 취득해 버린다.
5068 단어 spreadsheetgas
개요
getDataRange()
sheet
객체 함수 Range
오브젝트를 취득할 수 있다 IMPORTRANGE
importrange
로 복제된 스프레드에 대해 getDataRange()
그러면 빈 줄까지 값이 들어 있는 것으로 간주하여 가져온다.→
query
함수에 빈 줄을 표시하지 않으면 해결할 수 있습니다.이벤트 확인
아래 데이터를 JSON 형식으로 변환하는 GAS에서 이벤트를 확인해 보자.
데이터 로드 중importrange("https://docs.google.com/spreadsheets/d/[シートID]/edit","[範囲]")
▼데이터를 읽은 후의 Spreadsheet
바로 importrange
로 복제된 스프레드에 대해 getDataRange()
해 본다.
JSON으로 변환하는 GASfunction getData(id, sheetName) {
var sheet = SpreadsheetApp.openById('[スプレッドのID]').getSheetByName('[シート名]');
var rows = sheet.getDataRange().getValues();
var keys = rows.splice(0, 1)[0];
return rows.map(function(row) {
var obj = {}
row.map(
function(item, index) {
obj[keys[index]] = item;
});
// ログ表示
Logger.log(obj);
});
}
▼로그. 공백 행이 취득되어 낭비 데이터가 대량으로 생성되고있다.
해결책
importrange
에서 얻은 데이터에서 빈 줄을 제거합니다.
다음과 같이 query
함수에서 키 값이 NULL이 아닌 것을 지정해 준다.
query 함수 적용query(importrange("https://docs.google.com/spreadsheets/d/[シートID]/edit","[範囲]"),"where Col1 IS NOT NULL")
▼로그. 빈 줄을 제외하고 JSON 형식입니다.
Reference
이 문제에 관하여(【GAS】importrange를 사용한 Spreadsheet에 getDataRange()했을 때, 빈 줄까지 취득해 버린다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fuga___/items/68126dad584ae9226acf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
importrange("https://docs.google.com/spreadsheets/d/[シートID]/edit","[範囲]")
function getData(id, sheetName) {
var sheet = SpreadsheetApp.openById('[スプレッドのID]').getSheetByName('[シート名]');
var rows = sheet.getDataRange().getValues();
var keys = rows.splice(0, 1)[0];
return rows.map(function(row) {
var obj = {}
row.map(
function(item, index) {
obj[keys[index]] = item;
});
// ログ表示
Logger.log(obj);
});
}
importrange
에서 얻은 데이터에서 빈 줄을 제거합니다.다음과 같이
query
함수에서 키 값이 NULL이 아닌 것을 지정해 준다.query 함수 적용
query(importrange("https://docs.google.com/spreadsheets/d/[シートID]/edit","[範囲]"),"where Col1 IS NOT NULL")
▼로그. 빈 줄을 제외하고 JSON 형식입니다.
Reference
이 문제에 관하여(【GAS】importrange를 사용한 Spreadsheet에 getDataRange()했을 때, 빈 줄까지 취득해 버린다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fuga___/items/68126dad584ae9226acf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)