- Published on
구글 스프레드시트와 파이썬 연동으로 업무 시간 50% 단축하기
- Authors
- Name
- 스타차일드
- https://x.com/ETFBITX
자동화는 현대 업무 환경에서 필수적인 요소가 되었습니다. 특히 반복적인 작업을 최소화하고 효율성을 높이기 위해서는 도구와 스크립트를 적절히 활용하는 것이 중요합니다. 구글 스프레드시트는 많은 사람들이 사용하는 강력한 도구입니다. 그러나 데이터를 수집하고 관리하는 과정에서 수작업으로 처리하면 시간이 많이 소요될 수 있습니다. 그래서 오늘은 구글 스프레드시트와 파이썬을 연동하여 업무 시간을 50% 단축시킬 수 있는 자동화 스크립트를 작성하는 방법을 소개하겠습니다.
구글 스프레드시트 API 설정하기
구글 스프레드시트를 파이썬과 연동하기 위해서는 먼저 구글 스프레드시트 API를 설정해야 합니다. 다음 단계로 진행해보세요.
구글 클라우드 플랫폼(GCP) 계정 생성: GCP에 로그인하여 새 프로젝트를 생성합니다.
스프레드시트 API 활성화: API 및 서비스 > 라이브러리로 이동하여 Google Sheets API를 검색하고 활성화합니다.
서비스 계정 만들기: API 및 서비스 > 사용자 인증 정보로 이동하여 서비스 계정을 생성합니다. JSON 형식의 인증 파일을 다운로드합니다.
스프레드시트 공유: 생성한 서비스 계정의 이메일 주소를 사용하여 구글 스프레드시트와 공유합니다. 이 계정이 데이터를 읽고 쓸 수 있도록 설정해야 합니다.
위 단계를 완료하면 이제 스프레드시트와 파이썬을 연동할 준비가 끝났습니다.
필요한 라이브러리 설치하기
파이썬에서 구글 스프레드시트 API를 사용하기 위해 필요한 라이브러리를 설치합니다. 다음 명령어를 사용하여 gspread와 oauth2client를 설치하세요.
pip install gspread oauth2client
기본적인 스크립트 작성하기
이제 구글 스프레드시트에 데이터를 읽고 쓰는 기본적인 파이썬 스크립트를 작성해보겠습니다. 아래 코드는 스프레드시트에서 특정 데이터를 읽어와서 수정한 후 다시 저장하는 예제입니다.
import gspread
from oauth2client.service_account import ServiceAccountCredentials
# 구글 스프레드시트 API 인증 및 클라이언트 생성
scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"]
creds = ServiceAccountCredentials.from_json_keyfile_name('your-credentials.json', scope)
client = gspread.authorize(creds)
# 스프레드시트 열기
spreadsheet = client.open('Your Spreadsheet Name')
worksheet = spreadsheet.sheet1
# 데이터 읽기
data = worksheet.get_all_records()
# 데이터 수정 및 다시 쓰기
for row in data:
row['New Column'] = 'Value'
# 수정된 데이터를 스프레드시트에 다시 저장
worksheet.update([data[0].keys()] + [list(row.values()) for row in data])
위의 코드에서 your-credentials.json 파일에는 서비스 계정을 생성할 때 다운로드한 인증 파일의 이름이 들어가야 합니다. 코드 실행 후, 'Your Spreadsheet Name'에 해당하는 스프레드시트에서 데이터를 읽어와서 'New Column'에 새로운 값을 추가하고 다시 저장합니다.
자동화 스크립트 개선하기
위의 기본 스크립트를 바탕으로 여러 가지 기능을 추가하여 자동화 수준을 높일 수 있습니다. 예를 들어, 특정 조건에 따라 데이터를 필터링하거나, 외부 API에서 데이터를 가져와서 스프레드시트에 추가하는 등의 작업을 할 수 있습니다.
예제: 외부 API와 연동하기
외부 API에서 데이터를 가져와 구글 스프레드시트에 추가하는 예제를 살펴보겠습니다. 아래 코드는 간단한 JSON API에서 데이터를 가져와 스프레드시트에 추가하는 방법을 보여줍니다.
import requests
# 외부 API에서 데이터 가져오기
response = requests.get('https://api.example.com/data')
if response.status_code == 200:
api_data = response.json()
# 가져온 데이터 스프레드시트에 추가하기
for item in api_data:
worksheet.append_row([item['field1'], item['field2'], item['field3']])
else:
print('Failed to fetch data from API')
이 코드는 외부 API에서 JSON 형식의 데이터를 가져와 스프레드시트에 추가합니다. 이를 통해 수작업으로 데이터를 입력하는 시간을 아낄 수 있습니다.
에러 처리 및 최적화
자동화 스크립트를 작성할 때는 에러 처리와 최적화도 중요합니다. 예를 들어, API 호출이 실패할 경우에 대한 처리, 데이터의 유효성을 체크하는 등의 작업을 추가해야 합니다. 다음은 기본적인 에러 처리 예제입니다.
try:
# API 호출 및 스프레드시트 작업
except Exception as e:
print(f'An error occurred: {e}')
이렇게 하면 문제가 발생했을 때 적절한 메시지를 출력하고 스크립트가 중단되지 않도록 할 수 있습니다.
결론
구글 스프레드시트와 파이썬의 연동을 통해 반복적인 업무를 자동화하고, 시간을 대폭 단축할 수 있는 가능성을 살펴보았습니다. 기본적인 API 설정부터 시작하여, 외부 API와의 연동 및 에러 처리까지 다양한 기능을 구현함으로써 업무 효율성을 높일 수 있습니다. 이러한 자동화 스크립트를 활용하면 더 중요한 일에 집중할 수 있는 시간을 확보할 수 있습니다.
자동화는 더 이상 선택이 아니라 필수입니다. 오늘 소개한 방법을 통해 여러분의 업무를 혁신적으로 변화시켜보세요.