본문 바로가기
  • Hello_
Python/Pandas

[Python] pandas로 xlsx 파일과 csv 파일 읽기

by LDwDL 2023. 2. 2.
728x90
반응형

본 포스팅에서는 excel 파일의 확장자인 xlsx와 csv를 비교해 보고 padas로 각각 읽는 법에 대해 얘기하겠다.

 

'xlsx' vs 'csv'

xlsx 파일은 이진파일로 구성이 되어 있으며 편집을 하는데 제한이 있다. 또한 메모리 사용량이 많지만 대용량 파일을 조작하는데 쉽다. 개발자가 프로그래밍으로 조작하기에는 상대적으로 어렵다.

 

반대로  csv 파일은 단순 텍스트 파일이다. 이러한 특징으로 인해 여러 텍스트 편집기에서 열 수 있고 메모리 사용량이 적다. 물론 텍스트 파일이기에 프로그래밍으로 조작하기에 용이하다. 다만 대용량 파일을 조작하는 데는 제한이 많다.

 

 

  형식 편집기 메모리 사용량 대용량 파일 조작 프로그래밍 조작 유연성
EXCEL (.xlsx) 이진 형식 제한적 많음 쉬움 어려움
CSV (.csv) 텍스트 형식 범용적 적음 어려움 쉬움

 

pd.read_csv, pd.read_excel

이렇게 특징이 다른 파일들은 pandas로 모두 읽을 수 있다. 다만 각각 명령어가 다르기에 예시를 들어보겠다.

 

import pandas as pd

csv_path = './test.csv'
excel_path = './test.xlsx'

 

csv 파일을 읽기 위해서는 pd.read_csv('파일명')을 사용해야하며,

xlsx 파일을 읽기 위해서는 pd.read_excel('파일명')을 이용해야 한다.

 

 

만약 서로 반대의 명령어를 사용하면 다음과 같은 오류 메시지가 발생한다.

 

"pd.read_csv(xlsx파일)" 에러 메시지

pd.read_csv(excel_path)

 

발생한 오류 : "ParserError: Error tokenizing data. C error: Expected 2 fields in line 3, saw 4"

 

 

"pd.read_excel(csv파일)" 에러 메시지

pd.read_excel(csv_path)

 

발생한 오류 : "ValueError: File is not a recognized excel file"

 

 

 

따라서 csv 파일과 xlsx 파일을 잘 구분하여 알맞은 pandas의 함수를 사용해야 한다.

 

728x90
반응형

댓글