일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 파이썬
- matlab
- 윈도우11
- pythongui
- 아웃룩
- Android
- 깃
- win32com
- python3
- 비주얼베이직
- 윈도우10
- office
- html
- 오피스
- Excel
- pyqt5
- git
- Windows11
- 파이썬GUI
- 파워포인트
- pandas
- Windows10
- 파이썬3
- 안드로이드
- windows
- 문자열
- VBA
- Outlook
- 엑셀
- python
Appia의 IT세상
파이썬[Python] 두파일 내에 동일한 단어 확인 및 비교하기 본문
파이썬[Python] 두파일 내에 동일한 단어 확인 및 비교하기
이번 포스팅은 2개의 파일을 불러와서 그 파일에 포함되어 있는 단어들이 중복되는 단어들이 무엇이고, 중복되지 않은 단어들이 무엇인지에 대해서 확인하는 코드를 작성해보고자 합니다. 먼저 크게 동작 순서는 다음과 같이 이루어 집니다.
1. 파일 불러오기
2. 파일에 텍스트를 분배하기
3. 그리고 중첩된 단어 정리하여 리스트로 반환하기
4. 1~3번의 과정을 다른 파일로 실행하기
5. 그리고 4번의 결과인 두 리스트를 비교하기
그럼 다음과 같은 부분들을 실행하기 위해서 예전에 작성했던 포스팅을 조금 더 활용해보고자 합니다.
파이썬[Python] 020 두개의 리스트(List) 비교 방법
그럼 다음부분에 대해서 작업을 시작해보겠습니다. 먼저, 위의 과정중에 1,3 번까지를 처리하는 함수를 다음과 같이 작성하였습니다.
def fileopen(data): #파일 불러오기 with open(data, 'r', encoding='UTF8') as file: text = file.read() splitdata = text.split() #리스트의 중첩된 부분 삭제하기 splitdata = list(dict.fromkeys(splitdata)) return splitdata | cs |
리스트의 중첩된 맴버를 삭제하는 방법은 이전 포스팅에서 작업했떤 부분들을 추가로 참고해주시면 도움이 될 것으로 보입니다.
파이썬[Python] 리스트(List)의 중복된 맴버 삭제하기, 없애기
위에서 작성한 함수을 바탕으로 추가 작업을 진행해보겠습니다.
def fileopen(data): #파일 불러오기 with open(data, 'r', encoding='UTF8') as file: text = file.read() splitdata = text.split() #리스트의 중첩된 부분 삭제하기 splitdata = list(dict.fromkeys(splitdata)) return splitdata if __name__ == '__main__': #파일1번 불러오기 NewList = fileopen('Text1.txt') #파일2번 불러오기 NewList1 = fileopen('Text2.txt') #파일1번 텍스트 출력하기 print(NewList) #파일2번 텍스트 출력하기 print(NewList1) # 파일 2번에는 포함되고 파일1번에는 포함되지 않은 맴버 출력 print(list(set(NewList1)-set(NewList))) # 파일 1번에는 포함되고 파일2번에는 포함되지 않은 맴버 출력 print(list(set(NewList)-set(NewList1))) dif1 = list(set(NewList1) - set(NewList)) dif2 = list(set(NewList) - set(NewList1)) # 두 파일중 공통된 요소 출력 print(list((set(NewList)-set(dif1))-set(dif2))) | cs |
위의 코드를 실행하면 다음과 같은 결과가 출력이 됩니다.
['Hello,', 'Appia', '_', 'Story'] ['Hello,', 'Appia', '_', 'Story', 'Choi'] ['Choi'] [] ['_', 'Appia', 'Hello,', 'Story'] | cs |
위와 같은 결과가 출력이 됩니다. 이와 같이 차이점이 있는 부분들, 공통된 부분들에 대해서 모두 출력을 해줍니다.
이번 포스팅에서는 이와 같이 파이썬[Python] 두파일 내에 동일한 단어 확인 및 비교하기라는 주제로 이야기를 해봤습니다. 간단하지만, 매우 효융성있게 잘 사용할 수 있기 때문에 많은 분들이 활용하시길 바랍니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.
'Python > Python 응용' 카테고리의 다른 글
파이썬[Python] 특정 동작의 실행시간 측정하기 (0) | 2020.12.17 |
---|---|
파이썬[Python] 입력된 날짜 기준으로 날짜 세기, D-Day 세기 (0) | 2020.12.11 |
파이썬[Python] 리스트(List)의 중복된 맴버 삭제하기, 없애기 (0) | 2020.10.13 |
파이썬[Python] 자료구조[Data Structure] 큐[QUEUE]구현하기 (0) | 2020.10.11 |
파이썬[Python] 자료구조[Data Structure] 스택[Stack]구현하기 (0) | 2020.10.08 |