-
[ About _ 파일 입출력 (txt , csv , excel) ]About_Datascience/Python 2023. 1. 6. 18:09
파일 입출력은 어떠한 파일을 열고 , 저장 , 변경, 추가 , 삭제 후
파일 닫기의 과정으로 이루어진다.
1. text file 입출력
* 파일 열기 (open)
파일열기 _ 기본 포맷 기본적으로 파일을 열 때는 " open " 을 사용한다.
안에 들어가는 argument들을 살펴보면 " 파일 이름.txt" / "file mode" : write (w) , read(r) , append(a) 쓰기 , 읽기 , 추가 모드가 있지만 설정하지 않는 경우 기본 값인 read(r) 모드로 설정된다. / file encoding = " " : 인코딩 같은 경우 ecu-kr , utf-8 , ANSI 등등이 있지만 대개의 경우 utf-8을 사용한다.
* 파일 쓰기 (write, "w" )
write 의 경우 f.write (" 원하는 내용") 과 같은 기본 포맷이 있다.
이를 실행하면 숫자를 반환해준다. 이는 파일 포인터가 얼만큼 전진했는지 반환해주는 것이다.
write 가 다끝났으면 무조건 f.close() 해줘야 한다.
f.close() 같은 경우는 write 든, read든 append든 파일을 열었으면 반드시 f.close()를 통해 파일을 닫아줘야 한다.
write 같은 경우 숫자 입력이 불가능하여 str로 형변환을 해줘야하고, newline도 직접 입력해야 한다는 단점이 있다.
따라서 print 를 활용하여 간단히 하는 방법을 알아보도록 하자.
기본적인 포맷은 print("write 할 내용" , file = f ) 이다.
print( ) 를 활용하여 write 사용하는 방법. * 파일 읽기 (read, "r" )
파일 읽기인 read의 종류에는 3가지가 있다.
ex) text 파일에 "hello" , 3.141592 를 write 해놓은 상태.
1. read( ) : 전체내용을 읽어옴.
read( ) 2. readline( ) : 한줄씩 읽어옴.
readline( ) 3. readlines( ) : 전체 내용을 한줄씩 끊어서 줄 단위로 묶어 리스트로 반환해줌.
readlines( ) ## f. seek( ) : 내가 직접 파일 포인터 위치를 이동시키겠다.
## f. tell ( ) : 현재 파일 포인터가 어느 위치에 있느냐?
2. csv file 입출력
* 파일 쓰기 (writerow)
csv file _open , write 동작 우선 csv 파일을 읽고 쓰는 동작을 하기 위해서는 import csv 를 해야한다.
그 후 파일 쓰기를 하기 위해서는 writer = csv.wrtier(f) 이런 식으로 writer 객체를 생성해야 한다.
그 다음 writerow 를 통해 writer.writerow(['jake' . 90,80,70]) write 동작을 구현할 수 있다.
csv 파일 역시 write 든, read든 append든 파일을 열었으면 반드시 f.close()를 통해 파일을 닫아줘야 한다.
* 파일 읽기 (reader)
csv file _ read 동작 우선 파일 읽기를 하기 위해서는 위의 writer와 마찬가지로 reader = csv.reader(f) reader 객체를 생성해야 한다.
그 후 csv 파일의 모든 내용을 읽어오기 위해서는 for 문을 통해 for line in reader : print(line) 이런식으로 코드 작성하면 csv 파일 전체를 (list 형태로)읽어올 수 있다.
* 기존 파일에 추가 (append ,"a")
write 로 계속 파일을 열어 진행하게 되면 실행 시킬 때마다 전에 입력했던 내용이 사라지게 된다. 따라서 append("a") 를 사용하여
작성해야 한다.
append를 사용하여 lotto 번호가 계속 쌓이는 프로그램 예시 3. excel file 입출력
openpyxl (open python excel) * 파일 쓰기 (writerow)
우선 wb라는 변수에 Workbook() 객체생성 한 것을 할당한다. (# workbook : file level (저장))
# worksheet(ws) : content level (내용을 집어 넣을거야!)
그 후 현재 활성 중인 워크시트를 active를 통해 선택한다.
excel sheet에 write하기. 파일을 쓰는 방법은 worksheet(ws) [write할 cell] = "write할 내용" 이다.
또한 셀을 직접 선택하여 ws.cell ( row, column , value = " write 할 내용 " ) 의 방법도 있다.
이렇게 파일을 작성하였으면 저장을 해야줘야 할 차례이다.
* 파일 저장하기(save)
excel file 저장하기 저장은 간단하다.
.save("excel 파일 이름 지정") 을 통해 작성한 엑셀 파일을 저장할 수 있다.
이외에도
* 한 column 지정해서 접근하기
* 한 row 지정해서 접근하기
* 전체 순환하기
이상 !
'About_Datascience > Python' 카테고리의 다른 글
[ About _ Python 기초 (input , 형변환 , 특수연산 , if문, 문자열 연산, f-string) ] (0) 2022.12.22