[AppsScirpt] 4. 구글 시트 데이터 읽기 및 쓰기
본문 바로가기
프로그래밍 언어/앱스크립트(AppsScript)

[AppsScirpt] 4. 구글 시트 데이터 읽기 및 쓰기

by 코딩 Play 2024. 2. 12.

앱스 스크립트를 사용하여 구글 시트의 데이터를 조작하는 것은 매우 강력한 기능입니다. 이를 통해 사용자는 구글 시트를 데이터베이스처럼 활용하여 자동화된 보고서, 데이터 분석, 정보 관리 시스템 등을 구축할 수 있습니다. 이번 섹션에서는 구글 시트 데이터를 선택, 읽기, 쓰기 및 수정하는 방법에 대해 상세히 설명하겠습니다.

1. 시트 선택하기

구글 시트 데이터를 조작하기 위한 첫 단계는 필요한 시트를 선택하는 것입니다. 앱스 스크립트를 통해 구글 시트 내의 특정 시트를 선택하는 방법은 다양하며, 작업의 목적과 필요에 따라 적절한 방법을 선택할 수 있습니다. 여기서는 시트를 선택하는 기본적인 방법들에 대해 자세히 설명하겠습니다.

활성 스프레드시트와 활성 시트 선택

  • 활성 스프레드시트란 현재 스크립트가 연결되어 작업 중인 스프레드시트를 의미합니다.
  • 활성 시트는 스프레드시트 내에서 현재 선택되어 있는 시트를 말합니다.
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // 활성 스프레드시트 가져오기
var sheet = spreadsheet.getActiveSheet(); // 활성 시트 가져오기

이름으로 시트 선택하기

특정 이름을 가진 시트를 선택할 때는 getSheetByName() 메서드를 사용합니다. 이 방법은 스프레드시트 내에 있는 특정 시트를 정확하게 지정할 수 있어 매우 유용합니다.

var sheetByName = spreadsheet.getSheetByName('Sheet1'); // 'Sheet1'이라는 이름의 시트 선택

시트의 인덱스로 선택하기

스프레드시트 내의 시트는 왼쪽에서 오른쪽으로 0부터 시작하는 인덱스를 가집니다. getSheets() 메서드를 사용하여 모든 시트의 배열을 가져온 후, 인덱스를 사용하여 특정 시트를 선택할 수 있습니다.

var sheets = spreadsheet.getSheets(); // 모든 시트의 배열 가져오기
var firstSheet = sheets[0]; // 첫 번째 시트 선택

새 시트 추가 및 선택하기

새로운 시트를 추가하고자 할 때는 insertSheet() 메서드를 사용합니다. 이 메서드는 새로 생성된 시트를 반환하므로, 바로 해당 시트를 선택하여 작업할 수 있습니다.

var newSheet = spreadsheet.insertSheet(); // 새 시트 추가
var namedSheet = spreadsheet.insertSheet('New Sheet'); // 이름을 지정하여 새 시트 추가

선택한 시트 사용하기

선택한 시트 객체를 사용하여 다양한 작업을 수행할 수 있습니다. 예를 들어, 시트의 이름을 변경하거나, 시트 내의 특정 범위의 데이터를 읽고 쓰는 등의 작업이 가능합니다.

sheet.setName('Updated Sheet Name'); // 시트 이름 변경
var range = sheet.getRange('A1:B2'); // 시트의 특정 범위 선택

시트를 선택하는 방법을 이해하는 것은 구글 시트를 사용한 데이터 조작과 자동화 작업의 기초입니다. 앱스 스크립트를 통해 원하는 시트를 정확하게 선택하고, 필요한 작업을 수행할 수 있는 능력은 데이터 관리 및 분석 작업의 효율성을 크게 향상시킵니다.

구글 시트에서 데이터를 읽는 것은 앱스 스크립트를 사용하여 스프레드시트 데이터를 조작하는 기본적인 작업 중 하나입니다. 데이터를 읽는 방법에는 여러 가지가 있으며, 각 방법은 특정한 사용 사례나 요구 사항에 적합합니다. 이 섹션에서는 구글 시트의 데이터를 읽는 다양한 방법에 대해 자세히 설명하겠습니다.

2. 데이터 읽기

단일 셀 읽기

가장 기본적인 방법은 특정 셀의 데이터를 읽는 것입니다. getRange() 메서드를 사용하여 셀을 선택하고, getValue() 메서드로 그 셀의 값을 가져옵니다.

var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var cellValue = sheet.getRange('A1').getValue();
Logger.log(cellValue); // A1 셀의 데이터를 로그로 출력

범위 데이터 읽기

여러 셀의 데이터를 한 번에 읽으려면, getRange() 메서드로 범위를 지정하고, getValues() 메서드를 사용하여 해당 범위의 모든 데이터를 2차원 배열로 가져옵니다. 이 방법은 테이블 형태의 데이터를 읽을 때 유용합니다.

var range = sheet.getRange('A1:B2');
var values = range.getValues();
for (var i = 0; i < values.length; i++) {
  var row = values[i];
  Logger.log('A' + (i+1) + ': ' + row[0] + ', B' + (i+1) + ': ' + row[1]);
}

전체 행 또는 열 데이터 읽기

전체 행이나 열의 데이터를 읽으려면, getRange() 메서드에 행 번호나 열 번호만을 인수로 제공합니다. 예를 들어, getRange('A:A')는 A열의 전체 범위를 선택하고, getRange('1:1')은 첫 번째 행의 전체 범위를 선택합니다.

var columnValues = sheet.getRange('A:A').getValues(); // A열의 모든 데이터 읽기
var rowValues = sheet.getRange('1:1').getValues(); // 첫 번째 행의 모든 데이터 읽기

데이터 조건부 읽기

데이터를 조건부로 읽으려면, 읽어온 데이터 배열을 반복 처리하면서 특정 조건을 만족하는 데이터만을 선택합니다. 예를 들어, 특정 값 이상의 숫자나 특정 문자열을 포함하는 셀만을 필터링할 수 있습니다.

var range = sheet.getRange('A1:A10');
var values = range.getValues();
for (var i = 0; i < values.length; i++) {
  if (values[i][0] > 100) { // 값이 100 이상인 셀만 로그로 출력
    Logger.log('Row ' + (i+1) + ': ' + values[i][0]);
  }
}

구글 시트에서 데이터를 읽는 이러한 방법들은 다양한 애플리케이션과 스크립트에서 데이터를 처리하고 분석하는 데 필수적입니다. 앱스 스크립트를 통해 구글 시트의 데이터를 유연하게 읽어오는 방법을 이해하고 활용함으로써, 효과적인 데이터 관리와 자동화 솔루션을 구현할 수 있습니다.

 

다음 강의 : [AppsScirpt] 5. 구글 시트 데이터 수정 및 범위 다루기

 

[AppsScirpt] 구글 시트 데이터 수정 및 범위 다루기

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.

codeplayground.tistory.com

 

최근댓글

최근글

skin by © 2024 ttuttak