Byeonguk Kim

안녕하세요. 29살의 조금은 늦은 나이로 새롭게 개발자로 시작하는 신입 개발자입니다. 포트폴리오 [https://deaguowl.github.io]

파이썬 23. CSV파일 및 TXT파일 다루기

28 Apr 2019 » Python

2019.04.29 CSV파일 및 TXT파일 읽기, 저장하기, 쓰는 방법

# 질문에 답하기

  1. CSV파일 다루는 방법
  2. TET파일 다루는 방법

기본 전제

기본적으로 CSV와 TXT의 형태가 비슷하다.

CSV 다루기

  • CSV는 comma-separated value(쉼표로 구분된 텍스트)
  • 데이터를 저장하고 공유하는 매우 간편한 포맷이다.
  • 데이터가 일반 텍스트로 저장되어 어디서나 데이터를 쉽게 다룰 수 있다.
  • 단 따로 자료형이 없는 원시데이터이다.

CSV 열기(파일이 없다면 자동생성된다)

  • f = open(‘파일명’, ‘w’, newline=’’)
  • w는 나는 write할 것이다를 알려줌
  • newline은 write할 때 줄 바꿈이 2줄씩 일어나지 않도록 해줌

CSV 데이터 입력하기

  • f.write(‘1,2,3\n’)
  • f.write(‘4,5,6’)
  • 마지막에 \n을 해주지 않으면 덮어쓰게 된다.

CSV 파일 저장하기

  • f.close()

csv.py

csv

1.csv

txt

TXT 다루기

  • 가장 간단한 에디터이다.

TXT 열기 및 생성

  • f = open(‘파일명’, ‘w’, encoding = ‘utf-8’)
  • w는 나는 write할 것이다를 알려줌
  • w : 쓰기 모드
  • r : 읽기 모드
  • a : 추가모드 (마지막에 새로운 내용을 추가할 때 사용)
  • encoding은 한글이 깨지지 않도록 해준다.

TXT 데이터 입력하기

  • f.write(‘안녕하세요\n’)
  • f.write(‘처음 연습합니다.’)

TXT 파일 저장하기

  • f.close()

TXT 파일 읽기(read 모드)

  • readline : 한 줄 읽어오기
    f = open('text.txt', 'r' )
    line = f.readline()
    print(line)
    f.close()
    
  • readlines : 모든 줄 읽어오기
    f = open('text.txt', 'r' )
    lines = f.readlines()
    for line in lines:
      print(line)
    f.close()
    

새로운 내용 추가하기

  • 모드를 a로 연다.
    f = open('text.txt', 'a')
    for i in range(11, 20):
      data = "%d번째 줄입니다.\n" % i
      f.write(data)
    f.close()
    
  • 11번째줄부터 20번째 줄까지 데이터 삽입

open, 데이터 삽입 , close까지 한번에 처리하기

  • with로 처리하기
    f = open("foo.txt", 'w') 
    f.write("Life is too short, you need python") 
    f.close()
    

    이것을

with open("foo.txt", "w") as f:
    f.write("Life is too short, you need python") 

이렇게 한번에 적어줄 수 있다.
단 파이썬 2.5부터 지원한다.