파이썬 질문입니다.
조회수 2125회
텍스트 파일의 영어나 특수문자 내용을 변환 까지는 했는데
숫자를 한글로 변환은 어떻게 해야 하는지 모르겠어요..
일의 자리만이면 그냥 아래와 같이 집어 넣겠는데
십의자리 백의 자리도 텍스트 파일에 있다보니
어떻게 코드를 짜야 하는지 모르겠어요...
좀 도와 주세요.
input = open("keyword.txt", "rt", encoding="utf8")
output = open("output.txt", "wt", encoding="utf8")
with input, output:
while True:
chunk = input.read(4096)
if not chunk:
break
chunk = chunk.replace("\u000B", "")
chunk = chunk.replace("cm", " 센티미터 ")
chunk = chunk.replace("mm", " 밀리미터 ")
chunk = chunk.replace("m", " 미터 ")
chunk = chunk.replace(".", " 점 ")
chunk = chunk.replace("?", " 물음표 ")
chunk = chunk.replace("!", " 느낌표 ")
chunk = chunk.replace("+", " 더하기 ")
chunk = chunk.replace("-", " 빼기 ")
chunk = chunk.replace("×", " 곱하기 ")
chunk = chunk.replace("÷", " 나누기 ")
chunk = chunk.replace("=", " 는(은) ")
output.write(chunk)
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
2 답변
-
숫자를 한글로 읽는 함수 라는 글이 있네요.
윗 글에 있는 방법은 시도해보셨나요?
-
(•́ ✖ •̀)
알 수 없는 사용자
-
-
다른 답변에 나온 숫자를 한글로 읽는 함수를 이용하면 주어진 숫자를 한글로 바꿔 줄수는 있겠는데요.
텍스트파일에서 연속된 숫자를 찾아내는 방법도 궁금하실것 같군요. 정규표현식의 숫자대표문자와 하나이상 연속된 글자를 찾아주는 기능을 이용하면 쉽게 해결이 됩니다.
regex = r'\d+' search_target = '''Luke Skywarker 02-123-4567 luke@daum.net 다스베이더 070-9999-9999 darth_vader@gmail.com princess leia 010 2454 3457 leia@gmail.com''' import re result=re.findall(regex,search_target) print(result)
위 코드를 실행해 보면 숫자만 하나씩 뽑아서 result에 들어가 있게 됩니다.
이걸 숫자를 한글로 읽는 함수에 넣어서 바꿔주면 되겠네요~
댓글 입력