기타

[파이썬]구글 스프레드 시트 번역 (1)

Aostols 2022. 5. 2. 09:57
반응형

구글 클라우드 번역으로 번역하는 방법을 알아 보았는데요

파이썬을 활용하여 구글 스프레드 시트에 있는 내용을 번역 하는 기능을 만들어 보려고 합니다.

대량 번역의 경우에는 구글 클라우드 스토리지 버킷 + 클라우드 콘솔명령창을 활용하여 대량번역이 가능하기 때문에 이를 위해서는 파이썬을 활용할 필요는 딱히 없습니다.

다만 번역 과정에서 추가적인 작업을 처리 할 수 있고, 콘솔 명령창 같은 경우에는 비 개발자 직군이 사용하기에 어려움이 있기 때문에 파이썬을 활용하여 단순화 시켜 줍니다.

일단 번역에 활용할 문장을 구글 스프레드 시트에 만들어 줍니다.

최상단에는 언어 코드인데 제가 임의로 필요하다고 생각되어서 넣은것 입니다.

 

워크시트 이름은 translation 으로 정해 줍니다.

나중에 접근할때 필요 합니다.

 

import html
from google.colab import auth
auth.authenticate_user()

import gspread
from oauth2client.client import GoogleCredentials

gc = gspread.authorize(GoogleCredentials.get_application_default())

from googleapiclient.discovery import build
service = build('translate', 'v2', developerKey="DEVELOPER_KEY")



request_url = 'GOOGLE_SPREADSHEET_URL'
doc_request = gc.open_by_url(request_url)
ws_request = doc_request.worksheet('translation')

column_request = ws_request.col_values(1)
request_length = len(column_request) + 1

for i in range(2, request_length):
  cell_data = ws_request.acell('A' + str(i)).value
  cell_data = service.translations().list(source='ko', target="en", q=cell_data).execute()
  cell_data = cell_data["translations"][0]["translatedText"]
  cell_data = html.unescape(cell_data)
  ws_request.update_acell("B" + str(i), cell_data)

DEVELOPER_KEY 부분에는 자신의 API 키를 넣어주면 됩니다.

 

구글 클라우드 콘솔에서 API 및 서비스로 들어 갑니다.

 

여기서 사용자 인증 정보를 눌러 줍니다.

 

+사용자 인증 정보 만들기를 누르고 API 키를 선택해 줍니다.

 

API 사용을 위한 키가 생성됩니다.

가장 오른쪽에 복사버튼을 눌러 API 키를 복사해서 넣어주면 됩니다.

GOOGLE_SPREADSHEET_URL 부분은 구글 스프레드 시트 문서의 URL 을 단순히 복사해서 넣으면 됩니다.

공유나 권한 따위 따로 처리하지 않아도 됩니다.

워크시트도 아까 정했던 translation 으로 적어줍니다.

이제 실행해 봅니다.

 

파이썬 결과창에 링크과 입력창 하나가 뜨게 됩니다.

일단 링크를 눌러 줍니다.

 

권한요청이 뜨게 되는데 Google Cloud SDK 에서 권한을 요청합니다.

제 계정을 선택합니다.

 

Google Drive 를 접근해야 하기 때문에 허용 해 줍니다.

 

이러한 인증코드가 나오는데 복사버튼을 클릭해 줍니다.

 

아까 있었던 입력창에 넣어주고 엔터를 쳐 주면 파이썬일 실행 됩니다.

 

결과 화면 입니다.

다음 포스트에서 하나하나 분석해 보겠습니다.

반응형