프로그래밍/python
[python]필요없는 특수문자,내용 자르기
부단
2020. 1. 23. 23:47
728x90
「메모장 편집 마지막 편으로 조건부 쓸데없는 내용을 잘라보자!」
메모장 마지막 편으로 조건부로 쓸데없는 내용을 자르는 방법을 소개하겠습니다.
사실상 이 글이 앞의 2개의 글보다 훨씬 쉽습니다!
그럼 바로 해보자고요!
먼저 이번 데이터를 살펴볼까요?
이 글에서 작성할 코드의 목적은 행복, 사과, 맥주, 치킨과 같은 단어만 뽑아내는 것입니다.
저번 코드로 뽑아본다면 결과는 아래처럼 되겠군요.
아..!,? 가 눈에 거슬리는군요! 없애봅시다!
> 다음 코드는 조건에 따라!,?를 없애주는 코드입니다.
linessi1= linessi.replace("!","")
linessi2 = linessi1.replace("?","")
이 코드의 역할은 linessi의 문장 중!,?를 모두 삭제하는 것입니다.
replace! 말 그대로 "!"를 ""로 바꾸준다는 소리이죠
그럼 이 코드를 저번 포스팅과 합쳐보겠습니다.
import copy
import sys
name = input("파일이름: ") #1
with open('filename.txt', 'rt', encoding='UTF8') as data: #2
liness = data.readlines() #3
sys.stdout = open(name+'.txt','w') #4
for i in range(0,10): #배열 형태이기 때문에 for문으로 출력해 줍니다. #5
liness[i] = liness[i].split("|", 1) #6
liness[i] = liness[i][0] #7
liness[i] = liness[i][14:] #8
linessi = copy.copy(liness[i]) #9
linessi1= linessi.replace("!","") #10
linessi2 = linessi1.replace("?","") #11
liness[i] = linessi2 #12
print(linessi2)
print("#############################################################################################")
print(liness) #13
이 코드의 동작 순서는 이렇습니다.
- 1. 저장될 파일 이름을 입력받습니다.
- 2. filename이라는 이름의 txt형식의 메모장 파일을 엽니다.
- 3. filename의 데이터를 줄 별로 나눠 liness에 저장합니다.
- 4. 아까 입력받은 이름을 가진 txt 파일을 생성하고 아래 출력되는 모든 내용을 메모장에 기록합니다.
- 5. filename에 들어있는 문장이 10 줄이라 가정했을 때[for i in range(0,10)] for문으로 list형인 liness를 1줄씩 불러옵니다.
- 6. liness 1줄을 첫 '|'를 기준으로 나눕니다.
- 7. '|'를 기준으로 나눠진 liness의 앞부분만 불러옵니다.( '|' 뒤에 있는 내용은 없애고 '|'앞의 내용만 liness에 들어감)
- 8. 앞부분의 "data: ~~ 부분을 자릅니다.
- 9. 그 1줄을 복사해 linessi라는 변수에 넣어줍니다.
- 10. linessi에서! 를 발견하면 없애버리고 없앤 데이터를 linessi1에 넣어줍니다.(! 를 발견하면""으로 바꿉니다.)
- 11. linessi1에서?를 발견하면 없애버리고 없앤 데이터를 linessi2에 넣어줍니다.(?를 발견하면""으로 바꿉니다.)
- 12.!,?를 없앤 값인 linessi2를 다시 liness에 넣어줍니다. (이 줄에서 liness [i]와 liness2는 같다)
- 13. liness를 출력해본다.
실행 결과입니다 :