Python

[Python] 파이썬 csv 파일 읽어오기, 행으로 읽기, 열로 읽기

Let it out 2024. 4. 18. 14:38

CSV란?

csv는 필드를 쉼표(,)로 구분한 텍스트 파일이다.
 
쉼표로 구분되어 있는 데이터 형식을 csv 파일 형식이라고 부르며,
 
확장자 명이 *.csv라고 되어있으면  csv 파일이라고 한다.
 
 
 

csv 파일 만들기

일단 csv  파일 내용은 이렇다.

메모장이나 엑셀을 열어서 ,(쉼표)로 구분해주면된다.

 

1/1, 1/2, 1/3, 1/4
2/1, 2/2, 2/3, 2/4
3/1, 3/2, 3/3, 3/4
3/1, 3/2, 3/3, 3/4

 

 

저장 할때는 *.csv 확장자명으로 해주면 된다.

 

 

 

 

 

csv 파일 전체 읽어오기

파일 open 할때 csv 파일 경로를 지정해주거나, 자신 프로젝트에 넣어야한다.

import csv  # csv 사용하기 위해 패키지 임포트

f = open('C:/Users/skek1/OneDrive/Documents/data.csv', 'r')  # data.csv 파일 오픈
data = csv.reader(f)  # 오픈한 파일을 csv 형식으로 읽기

for line in data: #한줄 (행) 마다 읽어오기
    print(line)

f.close()  # 열었던 파일 닫아주기

 

결과

['1/1', ' 1/2', ' 1/3', ' 1/4']
['2/1', ' 2/2', ' 2/3', ' 2/4']
['3/1', ' 3/2', ' 3/3', ' 3/4']
['3/1', ' 3/2', ' 3/3', ' 3/4']

 

이 예제는 행으로 한줄 씩 읽어온 후 리스트 형태로 저장된다.

 

아래와 같이 읽어온다고 보면된다.

즉 for문은 4번 반복된다.

 

첫 번째 ['1/1', ' 1/2', ' 1/3', ' 1/4']
두 번째 ['2/1', ' 2/2', ' 2/3', ' 2/4']
세 번째 ['3/1', ' 3/2', ' 3/3', ' 3/4']
네 번째['3/1', ' 3/2', ' 3/3', ' 3/4']

 

 

 

csv 파일 한 행만 읽어오기

두번째 행을 출력하는 예제다.

import csv  # csv 사용하기 위해 패키지 임포트

f = open('C:/Users/skek1/OneDrive/Documents/data.csv', 'r')  # data.csv 파일 오픈
data = csv.reader(f)  # 오픈한 파일을 csv 형식으로 읽기

next(data) #첫번째 행
second_row = next(data)#두번째 행

print(second_row) #두번째 행 출력

f.close()  # 열었던 파일 닫아주기

 

결과

['2/1', ' 2/2', ' 2/3', ' 2/4']

 

next 함수는 파이썬 내장 함수로 다음 라인으로 넘기는 함수다.

예제는 next 함수를 2번 썼으니 2번째 행으로 넘어간다.

 

 

 

 

csv파일 열로 읽어오기

첫번째 열만 읽어오는 예제다.

import csv  # csv 사용하기 위해 패키지 임포트

f = open('C:/Users/skek1/OneDrive/Documents/data.csv', 'r')  # data.csv 파일 오픈
data = csv.reader(f)  # 오픈한 파일을 csv 형식으로 읽기

for line in data: #한줄 (행) 마다 읽어오기
    print(line[0]) #첫번째 열
f.close()  # 열었던 파일 닫아주기

 

결과

1/1
2/1
3/1
3/1

 

열로 읽어오려면 line[0]으로 첫번째 열을 읽어온다.

배열안에 안에 인덱스가 1이면 두 번째 열, 인덱스가 2면 새번째 열을 불러오는 식이다.

반응형