[Python] 규칙이 있는 영어 한글 패턴 분리해보기
2020. 4. 12. 18:37ㆍ분석 Python/구현 및 자료
영단어를 복사해서 표로 만들고 싶었는데, 아래 그림과 같은 형태로 복사되었다.
그래서 바로 엑셀에 붙여 넣기를 하니 오른쪽 그림처럼 되었다. ㅠㅠ
그래서 내가 할 줄 아는 것은 파이썬하고 R뿐인데, 그중 요즘은 파이썬을 많이 사용하니 파이썬으로 분리해보기로 했다.
다행히 저기 글에는 패턴이 있었다. 바로 [영어~~] [한글, 영어 기타] 같은 형태로 되어 있었다.
그래서 저 [영어] [한글,영어] 을 하는 저 중간에 인덱스값만 안다면 분리할 수 있다는 것을 알았다.
그래서 코드는 다음과 같다.
일단 읽어들이고 중간에 \n 을 제거해보자.
import re
f = open("./영어_한글_혼합.txt","r")
lines = f.readlines()
공백제거 = [line for line in lines if line != "\n"]
그 다음 필자는 이런 패턴을 사용했다.
pattern = '([a-zA-Z0-9_.+-] [ㄱ-ㅣ가-힣]+)'
의미는 앞에는 영어 숫자 뭐든간 있는 거고, 그리고 띄어쓰기가 있고 바로 한글이 있는 것 이다
그래서 이런식으로 search에 있는 start method로 index를 찾아서 분리해서 list에 저장했다.
result = []
for ck in 공백제거 :
index = re.search(pattern=pattern, string=ck).start()
영어 = ck[:(index+1)].strip()
한글 = ck[(index+1):].strip()
result.append([영어, 한글])
깔끔하게 분리 된 것 같다 ㅎㅎㅎ
## window는 encoding을 cp949
dd.to_csv("./영어_한글_분리.csv", index=False, header = False, encoding="CP949")
728x90
'분석 Python > 구현 및 자료' 카테고리의 다른 글
파이썬 상위,하위,특정 디렉토리에 있는 패키지 임포트하기(import) (0) | 2020.04.25 |
---|---|
[Survey] Seq2Seq 자료 모으기 (0) | 2020.04.14 |
[Python] dict 에서 RuntimeError: dictionary changed size during iteration 해결하는 방법 (0) | 2020.04.11 |
[Python] self 에 대해서 알아보기 (__init__ , __new__) (0) | 2020.04.09 |
파이썬에서 정규성 검정하기 (0) | 2020.03.22 |