Terry Very Good

[Python] Text파일을 읽어 특정 문자 앞에 있는 문자만 추려내기 본문

프로그래밍/PYTHON

[Python] Text파일을 읽어 특정 문자 앞에 있는 문자만 추려내기

테리베리 2022. 3. 3. 18:02
728x90
반응형

업무를 하다 보니까, 구인정보사이트 등에서 데이터를 긁어와
거기에서 특정 기업명 등만 발췌해야 할 때가 있다.

원본인 a.txt는 아래와 같다. 여기서 "관심기업" 앞에 있는 기업명만 가져올 것이다.

㈜다원시스 관심기업
다원시스 신사업기획 신입사원 모집
신입 대졸↑ 인턴 경기 경기 안양시 ~03/24(목)

전기회로, 전자회로, 제어, 사업기획, 신규사업·BD

스크랩
즉시지원
㈜해커스어학원 관심기업
해커스 교육그룹 직원전환형 인턴 채용(기획/마케팅)
신입 대졸↑ 인턴 서울 서울 서초구 ~05/24(화)

카피라이터, 콘텐츠기획, 학원 마케팅, B2B 영업마케팅, 학원강의기획, 학원강의운영, 어학원, 컨텐츠개발, e러닝, 기획, 서비스기획, 전략, 타당성분석, 광고기획, 마케팅, 마케팅기획, 바이럴마케팅, 소셜미디어, 시장분석, 업무제휴, 이벤트, SNS운영, 웹기획, 제안·컨설팅, 컨텐츠기획, 통계·로그분석, 온라인마케팅, 웹마케팅, 웹사이트운영, 카페·블로그관리, 컨텐츠관리, 컨텐츠에디터, e-Learning, 프리미어, 포토샵, 프리미어, 교육상담, 수강생관리, 학원운영

스크랩
홈페이지 지원
㈜쁘띠엘린 관심기업
㈜쁘띠엘린 각 부문 신입 및 경력사원 모집
신입·경력2년↑ 학력무관 정규직 서울 서울 구로구 ~03/13(일)

상품기획, 소셜커머스, 쇼핑몰, 오픈마켓, B2C, 원가, 재무, 재무기획, 재무회계, 마케팅, 마케팅기획, 바이럴마케팅, 시장분석, 물류관리, 온라인MD, 패션MD, 프랜차이즈, MD, 시스템운영, 소셜마케팅, 온라인마케팅, 웹마케팅, 시스템프로그래머, 시스템분석, 시스템설계, 시스템엔지니어, 생산, 생산관리, 원가관리, 사출, 생산직, 생산직, 영캐주얼디자인, 유아복디자인, 시장조사, 조사분석, 통계, 재무

스크랩
즉시지원
㈜해커스어학원 관심기업
2022년 해커스교육그룹 신입 및 경력사원 채용
신입·경력 초대졸↑ 정규직 외 서울 서울 서초구 ~03/31(목)

웹디자인, 온라인서비스, 원격평생교육원, ㈜해커스어학원, 콘텐츠개발, 평생교육, 학사운영, 학사관리, PL, 교수설계, 교재제작, 어학원, 컨텐츠개발, e러닝, 집필, 출판, 출판기획, 편집, 세무, 재무, 재무회계, 마케팅, 바이럴마케팅, 소셜미디어, 퍼블리싱, 이벤트, 홍보, 홍보기획, 아웃바운드TM, 회원관리, 고객상담, 고객지원, 교육·출판, 인바운드TM, CS, 고객관리, 회원관리, 네트워크관리, 스토리보드, 컨텐츠기획, PM, 웹프로그래머, jsp, php, 안드로이드, 응용프로그래머, 전산전공, Java, 시스템프로그래머, 게시판관리, 웹사이트운영, 컨텐츠개발, 컨텐츠관리, 웹퍼블리셔, HTML5, 포토샵, DBA, 영상편집, 유지보수, 하드웨어, 소프트웨어, 3D, 그래픽디자인, 일러스트레이터, 포토샵, 교재편집, 편집디자인(MAC), 방송기술, 방송CG, 영상편집, 포토그래퍼, 프리미어, 출판기획, 편집, 빌딩관리, 시설관리, 영어, 교육상담, 수강생관리, 안내상담, 유학상담, 학원에이전트, 교수설계, 교재컨텐츠개발, 평생교육사

스크랩
즉시지원
인카금융서비스㈜ 관심기업
2022 인카금융서비스 신입/경력사원 공개채용
신입·경력 학력무관 정규직 외 서울 외 서울 성동구 외 ~03/13(일)

데이터베이스, 백엔드, 보험설계사, 소비자보호, 영상기획, 영상 촬영, 재무분석, 주가분석, 프론트엔드, DBMS, GA, OS, Spring Framework, 손해보험수수료, 보험영업, 손해보험, 화재보험, 소프트웨어개발, 솔루션, 소셜네트워크서비스(SNS), 컨텐츠, 네트워크보안, 정보보안, Oracle, 문서관리, 문서수발, 사무관리, 총무, 교육, 교육기획, 교육훈련, 경영지원, 관리회계, 원가회계, 전산회계, 마케팅, 마케팅기획, 바이럴마케팅, 프로모션, 개인고객영업, 금융영업, 보험설계, 보험영업, 재무상담, 고객관리, 대리점관리, 매출관리, 영업관리, 영업기획, 영업지원, 채권관리, 법인영업, 고객상담, 고객응대, 고객지원, 보험회사, CS, 데이터베이스, DBA, Oracle, 네트워크관리, 서버관리자, 서버구축, 시스템운영, Linux, 웹기획, 웹서비스기획, 컨텐츠기획, UI설계, 웹프로그래머, php, Java, Linux, Oracle, WAS, 웹표준, UI·UX, 시스템분석, 시스템설계, 시스템엔지니어, DBA, 영상편집, 프리미어, 영상편집, 프리미어, 거래처관리, 고객관리, 금융사무, 금융상담

스크랩
즉시지원
㈜교보문고 관심기업
신입/경력 인턴 사원 모집
신입·경력 고졸↑ 정규직 외 서울 외 서울 마포구 외 ~03/03(목)

전자책, 물류, 서점, 판매, 문서관리, 문서작성, 정보처리, Excel, OA, 시장분석, 물류, 물류관리, 상품기획, 상품입출고, 온라인MD, 유통관리, 창고관리, MD, 국내영업, 일반영업, 고객관리, 영업관리, 영업기획, 외주관리, 아웃바운드TM, 해피콜, 회원관리, 고객상담, 고객응대, 고객지원, 인바운드TM, 콜센터, CS, 시스템프로그래머, 펌웨어, 게시판관리, 웹사이트운영, 컨텐츠개발, 컨텐츠관리, 컨텐츠에디터, 웹접근성, 웹퍼블리셔, 웹표준, HTML5, UI·UX, 교수설계, 교육기획, 교육행정, 도서관, 문헌정보, 정보검색, 북마스터

스크랩
홈페이지 지원
㈜카스 관심기업
22년 2월 공개채용
신입·경력 학력무관 정규직 경기 외 경기 ~03/04(금)

전기, 급여관리, 인사, 인사통합, 인재개발, 채용·면접, 문서관리, 문서작성, 경리, 관리회계, 원가, 원가회계, 전산회계, 마케팅, 시장분석, 판촉, 러시아어, 무역일반, 스페인어, 영어, 해외마케팅, 해외영업, MD, 구매관리, 물류관리, 상품입출고, 외자구매, 자재관리, 물류관리, 상품기획, 상품입출고, 온라인MD, MD, 가맹점영업, 국내영업, 기술영업, 일반영업, 기술영업, 기술지원, 네트워크영업, 고객관리, 납품관리, 영업관리, 데이터베이스, DB2, DBA, Oracle, 데이터마이닝, Java, 아이폰, 안드로이드, 응용프로그래머, 전산전공, C, C++, Embedded, Java, Oracle, 임베디드, 펌웨어, DBA, 유지보수, 펌웨어, 하드웨어, 소프트웨어, 자재관리, 품질, 품질관리, 품질보증, QA, 조립, 생산기술, 기계설계, AutoCad, 기술지원, 유지보수, A·S

스크랩
즉시지원
잡코리아(유) 관심기업
[잡코리아/알바몬] 홍보팀 경력사원 모집
경력7년↑ 대졸↑ 정규직 서울 서울 서초구 ~03/11(금)

취업포털, 컨텐츠, 포털, 사보기자, 언론홍보, 홍보, 홍보기획

스크랩
즉시지원
잡코리아(유) 관심기업
[잡코리아/알바몬] 경영전략 담당 정규직 채용
경력5년↑ 대졸↑ 정규직 서울 서울 서초구 ~03/24(목)

취업포털, 컨텐츠, 포털, 경영혁신, 기획조사, 변화관리, 사업기획, 신규사업·BD, 인수·합병, 전략, 조직관리, 타당성분석, 경영기획, 경영분석, 경영컨설팅, 애널리스트, M&A

스크랩
즉시지원

 

a.py

import os

f = open('a.txt')
lines = f.readlines()


for line_num, line_data in enumerate(lines):
    if '관심기업' in line_data:
        line_data=line_data.split(" 관심기업")[0]
        print(line_data)
f.close()

 

결과는 아래와 같이(b.txt) 나오는데 중복이 많다. 텍스트파일 째로 읽어서 중복제거를 해주자.

㈜다원시스
㈜해커스어학원
㈜쁘띠엘린
㈜해커스어학원
인카금융서비스㈜
㈜교보문고
㈜카스
잡코리아(유)
잡코리아(유)
잡코리아(유)
잡코리아(유)
잡코리아(유)
㈜해커스어학원
잡코리아(유)
잡코리아(유)
잡코리아(유)
㈜해커스어학원
㈜해커스어학원
㈜해커스어학원
디만트코리아㈜
㈜피에이치디코리아
비즈테크파트너스
두찜 ㈜기영에프앤비
...

 

b.py

print('File Sort And Remove Duplicate Lines Start')
 
 
w = open('c.txt', 'w')
r = open('b.txt', 'r')
 
#파일에서 읽은 라인들을 리스트로 읽어들임
lines = r.readlines()

#Set에 넣어서 중복 제거 후 다시 리스트 변환
lines = list(set(lines))
#리스트 정렬
lines.sort()
 
#정렬,중복제거한 리스트 파일 쓰기
for line in lines :
    w.write(line)
 
#파일 닫기
w.close()
r.close()
 
print('File Sort End')

 

결과 c.txt는 아래처럼 나왔고, 이 결과를 주면 된다.

(주)그룹아이디디
(주)에듀윌
(주)지란지교데이터
(주)헤어플러스
IGM세계경영연구원
LBHunet㈜
㈜ 케이에스컨설팅
㈜골프존
㈜공간몬스터
㈜교보문고
㈜구전상사
㈜나이콤
㈜넥스트허브
㈜니드이십일
...
728x90
반응형