1. 텍스트 파일 읽고 쓰기
- 텍스트 파일 읽기
ex)
file = open("text.txt", "r", encoding='UTF8')
# open 함수를 통해 첫 번째 파라미터에 읽을 파일의 경로 및 파일명, 두 번째 파라미터의 r은 read를 의미한다.
1) data = file.read() # 파일 내 텍스트를 읽어온다.
# (다시 읽으면 개행만 되는데, 한번 읽은 파일의 읽은 위치를 기억하고 있기 때문에 처음 읽었던 문장 뒤의 데이터만을 가져온다.)
2) data = file.readline() # 용량이 큰 파일은 한번에 읽는데 시간이 오래 걸리기 때문에 일정량만큼 읽어 들인다.
print(data) # 텍스트 출력
file.close() # open 이후에는 반드시 close를 해주어야 한다.
- open 함수의 파라미터는 아래의 URL에서 확인할 수 있다.
https://www.programiz.com/python-programming/methods/built-in/open
Python open()
The syntax of open() is: open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) open() Parameters file - path-like object (representing a file system path) mode (optional) - mode while opening a file. If not
www.programiz.com
* 주의점
1. ['cp949' codec can't decode byte 0xed in position 0: illegal multibyte sequence] 오류가 발생할 경우
2. open함수에서 세 번째 파라미터로 "encoding='UTF8'"을 추가한다.(반드시 UTF8일 필요는 없으며, 인코딩에 따라서 변경하여 사용한다.)
3. 해당 오류가 발생하는 원인은 cp949로 읽어올 수 없는 인코딩 된 파일이기 때문이다.
- 데이터가 많을 경우, 한 줄씩 읽기
ex)
file = open("text.txt", "r", encoding='UTF8')
data = file.readline() # 파일의 텍스트를 한줄씩 읽어 들인다.
while data:
print(data) # 텍스트 출력 후 개행이 되는 이유는 개행도 텍스트 내용의 일부이기 때문이다.
# print(data.strip()) # 개행을 없애기 위해서는 텍스트 데이터에 strip함수를 실행하면 개행되지 않는다.
data = file.readline() # 다음 텍스트 읽기
file.close()
- 텍스트 파일 쓰기
ex)
file = open("write.txt", "w", encoding="UTF8") # 경로, 쓰기 모드, 파일 인코딩의 설정으로 파일이 생성된다.
file.write("테스트") # 파일에 저장할 텍스트
file.close # 쓰기 이후에도 반드시 close 함수를 실행한다.
2. csv 파일 읽고 쓰기
- csv 파일 읽기
[data.csv]
1,2,3,4
5,6,7,8
9,10,11,12
file = open("data.csv", "r")
data = file.readline()
while data:
data = data.strip()
print(data.split(",")) # split 함수는 선택한 인자 값으로 리스트형 데이터로 변환해준다.
row = data.split(",") # 리스트마다 다시 인자 값으로 나눌 수 있다.(csv파일은 각 데이터가 , 로 구분되어있다.)
print(row[0])
print(row[1])
print(row[2])
print(row[3])
data = file.readline()
file.close()
- csv 파일 쓰기
ex)
data = ["1", "2", "3", "4"]
file = open("white.csv", "w", encoding="UTF8")
file.write(",".join(data)) # , 가 data에 있는 리스트형 데이터 사이사이에 삽입된다.
file.close()
'[IT 개발] > [python]' 카테고리의 다른 글
[Python] Excel 파일 쓰기 (0) | 2022.12.23 |
---|---|
[Python] Excel 파일 데이터 읽기 (0) | 2022.12.22 |
[Python] Datetime 패키지 (0) | 2022.12.08 |
[Python] 조건문의 사용, if문 (0) | 2022.12.06 |
[Python] dataset 을 다루는 자료형 (0) | 2022.12.05 |
댓글