210805

nooyji·2021년 8월 6일
0

파일 읽기, 쓰기

읽기 모드 : r
쓰기 모드 (기존 파일 삭제) : w
추가 모드 (파일 생성 또는 추가) : a

파일 읽기

# 예제 1
f = open('./resource/review.txt', 'r')
content = f.read()
print(content)
print(dir(f))
# 반드시 close 리소스 반환
f.close()

# 예제 2
with open('./resource/review.txt', 'r') as f:
	c = f.read()
    print(c)
    print(list(c))
    print(iter(c)) # iterator
    
# 예제 3
with open('./resource/review.txt', 'r') as f:
	for c in f:
    	print(c.strip()) # \n 이 있어서
        
# 예제 4
with open('./~', 'r') as f:
	content = f.read()
    print(">", content)
    content = f.read() # 내용 없음, 커서가 이미 이동해서
    print(">", content)
    
# 예제 5
with open('./~', 'r') as f:
	line = f.readline() # 한 문장 단위로 읽어오는 것
    while line:
    	print(line, end = ' #### ')
        line = f.readline()
        
# 예제 6
with open('./~', 'r') as f:
	contents = f.readlines() # list 형태로 return

randint(1, 50) -> 랜덤 정수 1~50

writelines : 리스트 -> 파일로 저장

with open('./~', 'w') as f:
	print('~', file = f)

예외 - 에러 및 예외 처리

문법적으로 에러가 없지만, 코드 실행 (런타임) 프로세스에서 발생할 예외처리 중요

dictionary 에서 get 메소드 활용 !! -> key 없으면 None return (☆☆☆☆☆)

예외 처리 코딩은 나중에 (EAFP 코딩스타일)

예외처리 기본

try : 에러가 발생할 가능성이 있는 코드 실행

except : 에러명

else : 에러가 발생하지 않았을 경우 실행

finally : 항상 실행 (☆☆☆☆☆)

예외를 발생시키는 것 : raise

reader = csv.reader(f)
next(reader) # header 스킵
reader = csv.reader(f, delimiter = '|')

(☆☆☆☆☆)

reader = csv.DictReader(f) 
# OrderedDict([('번호', '5'), ('이름', '홍미진'),...])
with open('./~', 'w', newline='') as f:
	wt = csv.writer(f)
    for v in w:
    	wt.writerow(v) # wt.writerows(w) 와 동일한 작업
import pandas as pd

xlsx = pd.read_excel('./~.xlsx')
# sheetname = '시트명' 또는 숫자
# header = 숫자
# skiprow = 숫자, 몇번째 행을 가져오지 않겠다.

xlsx.head()
xlsx.tail()
xlsx.shape

xlsx.to_excel('~', index = False)
xlsx.to_csv('~', index = False)

pandas.DataFrame.~
-> to_excel
-> to_csv

0개의 댓글