반응형

해당작업은, 파이썬 3.x버전과 파이참을 이용하여 작성했다. (아래 참고)

https://ansan-survivor.tistory.com/134

 

Pycharm(파이참)을 이용하여 Python 개발환경 구축하기

파이참은 파이썬 개발을 편리하게 하는 많은 기능을 제공하는 툴이다. https://www.jetbrains.com/pycharm/download/#section=windows Download PyCharm: Python IDE for Professional Developers by JetBrains Do..

ansan-survivor.tistory.com

 

엑셀을 사용하기 위해서는 'openpyxl' 이라는 라이브러리가 필요하다.

고로 먼저 아래와 같이 pip 명령을 이용해 다운한다.

 

* 기본 설정

 

1.

명령 프롬프트를 실행한다.

  (윈도우10에서) Ctrl + S  => cmd 입력

 

2.

  >pip install openpyxl==2.6.2 를 입력한다.

그러면 import openpyxl 을 줄에 넣을 때, 빨간줄이 생기지 않는다. (파이참에서)

* 엑셀 생성하기

먼저 아래와 같은 엑셀을 만들 것이다.

아래 소스코드를 실행 시키면 위와 같은 엑셀이 만들어진다.

'''

made by 안산드레이아스
https://ansan-survivor.tistory.com/

설치파일
pip install openpyxl
'''


import openpyxl # pip install openpyxl==2.6.2

'''
	엑셀 파일 쓰기.
'''
# 파일 쓰기 위한 객체 생성.
write_wb = openpyxl.Workbook()
write_ws = write_wb.active

# (col, row 인자값) 에 입력
write_ws = write_wb.active
write_ws['A1'] = '수량'
write_ws['B1'] = '가격'
write_ws['C1'] = '금액'

# 행(Row) 방향로 추가, 줄이 바뀌면 열(column) 방향으로 아래로 내려감.
write_ws.append([25, 5000, 125000])
write_ws.append([30, 5500, 60000]) 		
write_ws.append([35, 8000, 9000])

for i in range(5):						# for문으로 만들어보기
	write_ws.append([i+1, i+2, i+3])


# 셀 단위로 추가 col2, row5에 '셀추가'를 입력. (특정cell 지정하여 넣기)
write_ws.cell(5, 5, '셀추가')

# 편집된 엑셀파일을 저장.write_wb.save('./test.xlsx')
'''
	엑셀 파일 읽기.
'''
# 파일 쓰기 위한 객체 생성.
load_wb = openpyxl.load_workbook("./test.xlsx", data_only=True)

# sheet 이름 불러오기
load_ws = load_wb['Sheet']

# 셀주소값에 접근 후 출력
print(load_ws['A1'].value)

# 셀좌표값에 접근 후 출력
print(load_ws.cell(2,2).value)

# 셀 범위 지정하여 차례대로 출력
get_cells = load_ws['A1':'C3']
for row in get_cells:
	for cell in row:
    	print(cell.value)
        
# 모든 행과 열을 출력
print("\n=== 모든 행과 열 출력 ===")
all_values = []
for row in load_ws.rows:
	row_value = []
    for cell in row:
    	row_value.append(cell.value)
	all_values.append(row_value)

print(all_values)

print문은 값을 확인해보려고 넣은것이다.

*(참고) 엑셀파일 생성위치는 현재 이 프로젝트가 위치한곳 ( ./ ) 으로 되어있다.

만약 저걸 C:/test.xlsx 으로 바꾸면 C: 드라이브에 생길 것이다. 본인이 원하는 곳으로 설정

반응형
반응형

파이참은 파이썬 개발을 편리하게 하는 많은 기능을 제공하는 툴이다.

https://www.jetbrains.com/pycharm/download/#section=windows

 

Download PyCharm: Python IDE for Professional Developers by JetBrains

Download the latest version of PyCharm for Windows, macOS or Linux.

www.jetbrains.com

이곳에서 다운로드 할 수 있고, 무료버전으로 받아도 왠만한 기능은 다 지원한다.

오른쪽( 무료 다운로드 )

파이참은 파이썬을 쉽게 쓸 수 있도록 도와주는 툴이지, 파이썬은 아니다.

파이썬 = 개발언어(C언어, 자바 같은..),   파이참은 개발환경 (비쥬얼스튜디오 같은..)

 

파이썬을 사용하려면 파이썬 인터프리터를 다운로드 해야 한다.

https://www.python.org/downloads/

 

Download Python

The official home of the Python Programming Language

www.python.org

이곳에서 다운로드 하는데, 버전에 맞게 설치한다.

참고로 2.x 버전과 3.x 버전은 호환이 안된다.  그러나 2.x 버전은 서비스를 종료했고, 앞으로 3.x 버전으로 발전될 것이니,

3.x 버전을 다운로드 하는걸 추천한다.

 

파이참을 다 설치하고,, 딱 아래와 같이 설정만 하면 된다.

반응형

 

파이썬 실행 후 설정 창을 진행하며 아래와 같은 창이 뜬다.

여기서 아래와 같이 설정한다. 그래야 pip로 받은 파이썬 라이브러리를 제대로 불러온다.

 

이 외, 가상화 개발환경 구축방법이 있는데, 그게 바로 Virtualenv Enviroment 메뉴이다.

사용법은 검색해보면 다양히 있다.

 

또 2.x 와 3.x 모든 라이브러리를 통합시키는 아나콘다라는 것도 있다.

 

입맛에 맞게 설정한다.

 

새 파이썬 프로젝트 만들기

 

 

파이참을 한글화 하려면 아래를 참고.

https://ansan-survivor.tistory.com/1910

 

[Pycharm] 파이참 언어 한글 설정. (파이참 한글화 플러그인 설치)

파이썬 코드 작성시 유용한 파이참. 개발환경 구축은 아래를 참고. https://ansan-survivor.tistory.com/134 Pycharm(파이참)을 이용하여 Python 개발환경 구축하기 파이참은 파이썬 개발을 편리하게 하는 많은

ansan-survivor.tistory.com

 

반응형
반응형

파파고 번역 API는 \n가 있으면 오류를 발생시키므로, 이를 문자열에서 제거 하여 번역을 하도록 시켰다.

그러나  ' 나 " 가 있는 문자열번역에는 오류를 일으킨다. 아직 특수문자에 대한 별도의 처리가 필요하다.

 

아래는 코드

'''
파파고를 이용한 파일 내용 자동번역 코드
made by 안산드레이아스
https://ansan-survivor.tistory.com/

설치파일
pip install pypapago
'''

from pypapago import Translator

# 번역할 파일명
fileName = './test.txt'

# 사용할 전역변수
templist = []
afterTranslate = []

# 객체 할당
translator = Translator()

# 파일 읽기모드, 줄을 읽고 \n를 제거하여 번역하기
with open(fileName, 'r') as f:
    lines = f.readlines()
    for line in lines:
        # '\n'엔터키''가 있을 때 교체하여 추가, 그 외 그냥 추가
        if '\n' in line:
            line = line.replace('\n', '')
            templist.append(line)
        else:
            templist.append(line)

        # 문자열이 비어있는 리스트는 삭제
        try:
            templist.remove('')
        except:
            pass  

# 리스트 내 영어 자료들 번역하기
for i in range(len(templist)):
    result = translator.translate(templist[i], source='en', target='ko', verbose=False)
    afterTranslate.append(result)

# 초기 리스트값, 바꾼 후, 번역 후(출력테스트)
print(lines)
print(templist)
print(afterTranslate)

# 번역 후 text파일 만듦.
with open(fileName + '_translated.txt', 'w') as f:
    for i in range(len(afterTranslate)):
        data = afterTranslate[i] + '\n'
        f.write(data)

 

 

결과,

 

영문으로 된 text.txt 를 넣으면, 저렇게 파파고로 번역이 되어 나온다.

 

Python wiki 몇 문단을 번역해봤다.

그러나 2번째 분단처럼 '나 "가 들어있으면 오류가 난다.. 이부분을 해결이 필요하다

반응형
반응형

여러파일을 번역하다 귀찮아서 파이썬으로 간단하게 테스트 코드를 만들어보았다. (필자는 pycharm editor으로 사용)

파이썬 2020년 1월 최신버전인 python3 3.8.1 버전 사용.

 

텍스트파일에 영어가 들어있으면 이를 한글로 파파고 번역기를 이용해서 번역하는 것이다.

이를 위해 pypapago 라는 라이브러리를 다운로드 해줘야 하는데

window cmd창에서

>pip install pypapago

를 다운로드 해주면 된다.

 

아래는 pypapago 라이브러리 관련 사이트다.

https://pypi.org/project/pypapago/

 

pypapago

[Unofficial] Python wrapper for Papago translation service

pypi.org

 

유명한 엔지니어 포럼 stack overflow의 글귀를 텍스트에 넣어보고 번역해보았다.

메모장에 복사

그리고 실행시켜보았다. 

오류발생

저 오류가 왜 발생할까 오랜 연구 끝에... 문제는 엔터키(\n) 존재 유무에 따라 발생한다.

고로 엔터키를 없애줘야 한다.

아래처럼 수정

엔터키를 삭제하여 다음과 같이 수정.

그러면 아래와 같이 성공적으로 번역이 된다.

또, 번역된 내용을 afterTranslate.txt 파일로 자동으로 저장했다.

프로그램을 실행시키면 자동으로 번역하여 해당 파일을 생성한다.

동일 디렉터리 내 파일 생성

내용을 확인해보면, 아래와 같이 성공적으로 번역되었음을 알 수 있다.

 

그러면 다음 과제는 엔터키(\n) 문자열을 발견했을때, 어떻게 처리할지에 대해 코드를 작성해보면 저런 오류 걱정없이 사용할 수 있을 것이다. 나중에 작성할 예정이다.

 

아래 소스코드

'''
파파고를 이용한 파일 내용 자동번역 코드
made by 안산드레이아스
https://ansan-survivor.tistory.com/

설치파일
pip install pypapago
'''

from pypapago import Translator

# 불러올 파일명 입력(동일 디렉터리 위치)
fileName = './test.txt'

# 객체 할당, 번역할 파일 열기
translator = Translator()
with open(fileName, encoding='utf-8', errors='ignore') as f:
# 줄을 읽어 저장, byte를 string으로 디코딩
line = f.readline()
print(line) # 파일 내 텍스트 출력
print(type(line)) # 텍스트 타입 출력

# 번역할 문자를 입력
forTranslateString = line

# 번역하기 (\n(엔터) 이나오면 오류 발생 문자열 처리 필요) english -> korean 옵션
result = translator.translate(forTranslateString, source='en', target='ko', verbose=False)

# 결과 출력
print(result) # 번역된 텍스트 출력
with open("afterTranslate.txt", 'w') as f: # 번역 완료된 텍스트 저장
f.write(result)

 

https://ansan-survivor.tistory.com/78?category=368248

 

텍스트 파일 읽어와서 변역시키는 프로그램 (네이버 파파고, 파이썬 코딩)

파파고 번역 API는 \n가 있으면 오류를 발생시키므로, 이를 문자열에서 제거 하여 번역을 하도록 시켰다. 그러나 ' 나 " 가 있는 문자열번역에는 오류를 일으킨다. 아직 특수문자에 대한 별도의 처리가 필요하다...

ansan-survivor.tistory.com

 

반응형
1···3456

+ Recent posts