728x90
반응형
엑셀의 A열에 영단어를 입력하면 자동으로 B열에 영어 뜻, C열에 한글 뜻을 작성해주는 프로그램을 제작할 것이다.
Library:
$ pip install openpyxl requests googletrans==4.0.0-rc1
Source code:
import openpyxl
import requests
from googletrans import Translator
# Wordnik API 정보
api_key = 'your_wordnik_api_key' # Wordnik에서 발급받은 API 키
# 엑셀 파일 불러오기
wb = openpyxl.load_workbook('your_excel_file.xlsx')
sheet = wb.active
# 구글 번역기 객체 생성
translator = Translator()
# A열의 단어를 읽고, B열에 영어 정의, C열에 한글 번역을 추가
for row in range(2, sheet.max_row + 1): # 첫 번째 행은 보통 헤더이므로 2번째 행부터 시작
word = sheet.cell(row=row, column=1).value # A열의 단어 가져오기
# Wordnik API에서 단어 정의 가져오기
url = f"https://api.wordnik.com/v4/word.json/{word.lower()}/definitions"
params = {
'limit': 1, # 첫 번째 정의만 가져옴
'includeRelated': 'false',
'useCanonical': 'false',
'includeTags': 'false',
'api_key': api_key
}
response = requests.get(url, params=params)
if response.status_code == 200 and response.json():
definition = response.json()[0]['text'] # 첫 번째 정의 가져오기
sheet.cell(row=row, column=2, value=definition) # B열에 정의 추가
else:
sheet.cell(row=row, column=2, value="Definition not found") # 오류 시
# 구글 번역 API로 단어를 한글로 번역하여 C열에 추가
translation = translator.translate(word, src='en', dest='ko').text
sheet.cell(row=row, column=3, value=translation) # C열에 번역 추가
# 엑셀 파일 저장
wb.save('your_updated_excel_file.xlsx')
지피티 센세가 골격을 짜줬다. 입맛에 맞게 변화 시킬 예정이다.
영어 사전은 무료로 제공되는 토큰이 많은 Wordnik API를 사용하고, 한글 사전은 구글 번역 API를 사용할 예정이다.
(파파고 API는 서비스 종료...)
두 기능에 대한 API를 요청해놓았다.
한 일주일 걸린댄다.
API에 관심 있으신 분들은 아래 링크 참조!
https://developer.wordnik.com/
https://cloud.google.com/translate/?hl=ko
일주일 뒤에 API key를 받으면 실행되는 모습을 올리도록 하겠다.
728x90
반응형
'Python > Data Process' 카테고리의 다른 글
큰 수의 법칙 (Law of Large Numbers) in Python (0) | 2023.09.14 |
---|