본문 바로가기

카테고리 없음

(Python) 파이썬으로 텍스트 읽기

1. 자료 불러오기

import os, re
os.chdir(r'C:\Users\user\Desktop\매일해야 하는것')
f = open('국토의 계획 및 이용에 관한 법률(법률)(제18310호)(20220721).txt', 'r', encoding = 'utf-8')

import os, re : 텍스트 파일을 불러오기 위한 모듈

os.chdir(r'파일위치') : 텍스트 파일이 있는 위치가져옴

f = open('파일명', '읽기유형', encoding = '인코딩 형식') :

  - 첫번째 : '파일명'

  - 두번째 ; 새로쓸건지, 읽을건지, 내용을 추가할건지 여부를 입력

'w' 입력시 파일을 새로씀
'r' 입력시 파일을 읽음
'a' 입력시 내용을 추가함

  - 세번째 : 인코딩형식을 지정

 

2. 자료 읽기< read line() >

import os, re
os.chdir(r'C:\Users\user\Desktop\매일해야 하는것')
f = open('국토의 계획 및 이용에 관한 법률(법률)(제18310호)(20220721).txt', 'r', encoding = 'utf-8')

for i in range(5):
    print(f.readline())

read line() : 파일의 한줄을 가져와 문자열로 변환

 - txt의 문자열 한줄한줄씩 문자로 불러온다. 

  첫번째 부터 5번째줄을 불러오고 싶다면 아래와 같이 작성한다.

for i in range(5) :
   print(f.readline())

위의 for 문 같은 경우 맨윗줄부터 5줄까지를 출력

txt본문은 아래와 같음


국토의 계획 및 이용에 관한 법률 ( 약칭: 국토계획법 )
[시행 2022. 7. 21.] [법률 제18310호, 2021. 7. 20., 타법개정]

국토교통부(도시정책과-개발행위) 044-201-4724, 3717, 3707

코드 실행결과는 아래와 같음

range 가 5 이므로 5줄이 프린트됨

 

3. 자료 읽기< read lines() >

#1 
import os, re
os.chdir(r'C:\Users\user\Desktop\매일해야 하는것')
f = open('국토의 계획 및 이용에 관한 법률(법률)(제18310호)(20220721).txt', 'r', encoding = 'utf-8')

for i in range(5):
    print(f.readline())

# 커서가 5번쨰줄 뒤로 가서 lines 에는 5번쨰줄 뒷부분 부터 입력됨
lines = f.readlines()
print(lines[:2])

 

read lines() : 파일내용 전체를 가져와 리스트로 변환

readline과 다르게 파일내용 전체를 리스트 형식으로 반환. 각줄이 하나의 리스트 요소가 된다.

 

위의 경우 앞서 for i in range(5): print(f.readline())을 통해 txt파일의 커서가 5줄 뒤로 이동되었다.

따라서 lines의 요소 2개를 출력한다면 txt파일의 6행과 7행의 내용이 담긴 요소가 프린트 된다.

원본은 아래와 같으며


국토의 계획 및 이용에 관한 법률 ( 약칭: 국토계획법 )
[시행 2022. 7. 21.] [법률 제18310호, 2021. 7. 20., 타법개정]

국토교통부(도시정책과-개발행위) 044-201-4724, 3717, 3707
국토교통부(도시정책과-도시군계획시설) 044-201-4843, 3725, 4972
국토교통부(도시정책과-용도지역) 044-201-3712, 3709

출력결과는 아래와 같다.