Python/Python Basic

파이썬 excel, csv 파일 읽기 - 공부하는 도비

DOVISH WISDOM 2021. 1. 13. 15:16  
728x90
반응형

오늘은 파이썬에서 csv 파일을 다뤄볼게요.

 

xlsx, xls 파일 여는 법은 아래 링크를 확인해주세요~!

2021/01/13 - [파이썬/파이썬 이론] - [파이썬] 판다스(pandas) 모듈 설치 및 엑셀(xlsx, xls) 파일 열기 - 공부하는 도비

 

[파이썬] 판다스(pandas) 모듈 설치 및 엑셀(xlsx, xls) 파일 열기 - 공부하는 도비

오늘은 파이썬으로 외부에 있는 xlsx, xls 파일을 열고 데이터를 확인해보겠습니다. 우선 xlsx, xls 파일을 다루기 위해서는 몇가지의 모듈이 필요합니다. 제가 프로그래밍 하는 환경은 가상환경이

yang-wistory1009.tistory.com

 

파이썬에서 csv 파일을 읽고, 쓰는 일은 진짜 간단합니다.

그래서 다음 포스팅에는 쓰기와 읽어낸 데이터를 dictionary로 형 변환하여 데이터 활용하는 법도 같이 알아볼게요!

 

우선 확장자 csv로 끝나는 파일을 다루기 위해서는 

import csv 를 해줘야 합니다.

 

코드를 보면서 설명하자면, 

저는 불러올 file이 resource 파일 밑에 있기 때문에, 상대 경로로 저렇게 지정해두었습니다.

 

csv.reader() 명령어는 csv 파일을 읽어 내는 명령어 입니다. (쓰기는 writer())

 

읽어낸 정보는 for문을 통해서 한줄 한 줄 출력합니다.

 

그냥 단순히 print 문을 통해서 출력하게 되면

원하는 결과가 아닌 다른 값이 나오기 때문에, for문을 이용해서 한 줄 한 줄 출력하시면 됩니다.

 

만약, 각 열을 나눠주는 분류값? 을 제외하고 데이터만 출력하고 싶을 땐,

next() 함수를 사용하시면 됩니다.

 

처음 결과와 비교했을 때, 가장 첫 줄인 'ID', 'LAST_NANE', 'AGE', 'SEX' 행이 출력되지 않는 걸 확인하실 수 있습니다.

 

만약 csv 파일에 한글이 있으면 대부분 인코딩이 잘되어 출력될 텐데,

아닌 경우는 encoding = 'utf-8' 을 추가해줄게요!

 

오류 없이 출력이 잘됩니다.

 

다음으로는 csv파일의 데이터가 ,(콤마) 가 아닌 | 로 구분된 경우를 보겠습니다.

대부분은 데이터가 ,(콤마)로 구분되는데 아닌 경우도 데이터를 불러올 수 있어야겠죠?

 

delimiter=' ' 

delimiter='' 는 괄호 안에 구분하고자 하는 특수문자를 써주면, 그 기호를 기준으로 데이터를 분류해줍니다.

우선, 

| 이 포함된 csx 파일을 준비하고, delimiter='' 없이 출력하면 어떻게 되는지 보여드리겠습니다.

 

로 데이터가 구분된 경우

이렇게 생긴 파일을 준비했구요, 

아까와 동일하게 코드를 짜서 출력하면..음 우리가 원하는 결과는 아니죠?

 

다시, 

delimiter 이용

짠~!! 원하는 결과가 나왔습니다. 

 

이렇게 해서 파이썬 excel 파일 읽기를 해보았습니다.


test_file.csv
0.00MB

위 파일을 기본으로 조금씩 변경하면서 테스트 진행하였습니다.

반응형