본문 바로가기
데이터분석과 AI/파이썬을 엑셀처럼 쓰기

3. 데이터 파일(xlsx, xls, csv) 읽고 쓰기

by 우공80 2022. 9. 14.
728x90

 

데이터 분석을 위해 우선 파일을 불러오는 것부터 시작하겠습니다.

 

자주 사용하는 xlsx, xls, csv 파일을 읽어 오겠습니다.

 

.csv

csv 파일은 pandas에서 기본으로 제공하는 read_csv 함수를 사용하면 되고, 괄호안에 읽고자하는 파일 경로를 입력합니다. 절대, 상대 경로가 모두 가능합니다.

 

아래 코드는 파일을 읽어서 data  데이터 프레임에 저장하고 있습니다.

 

import pandas as pd

boston_data=pd.read_csv('BostonHousing.csv')  #파일 이름

# boston_data=pd.read_csv('data/BostonHousing.csv')  # 파일 경로 (상대)

# boston_data=pd.read_csv('c:/data/BostonHousing.csv')  # 파일 경로 (절대)

 

 

csv 파일을 쓸때는 아래와 같이 to_csv 함수를 사용합니다.

data.to_csv('BostonHousing.csv',encoding='cp949',index=False)

 

 

이번에는 옵션값을 주었는데요. 윈도우에서 사용할 파일이라면 인코딩을 cp949로 해야 한글이 깨지지 않습니다.

그리고 index=False 옵션을 주지 않으면 아래 그림과 같이 index도 저장하게 되는데, index를 꼭 저장할 필요가 없다면, 저장하지 않는 것이 추후 해당 파일을 읽을때도 간단해 집니다. (index에 시간의 흐름이 담겨있는 시계열 데이터 등 index가 의미가 있는 경우에는 저장해 주어야 합니다.)

만약 index를 저장한다면, read_csv할때 index 컬럼을 지정해 주어야 합니다.

index=False 옵션을 주지 않으면, index가 Unnamed: 0으로 같이 저장됩니다.

Excel 파일인 xls 와 xlsx는 각각 xlrd/xlwt와 openpyxl 라이브러리를 호출해야 합니다. 

사용방법은 read_csv, to_csv와 비슷하니, 따로 설명은 생략하겠습니다.

 

※ 사내 환경에서는 문제가 없었는데, Google Colab.에서는 버전차이에 따른 에러가 발생했습니다.

에러 문구에 따라 xlrd 버전을 1.1.0 --> 1.2.0으로 변경해서 설치했습니다.

# !pip install xlrd==1.2.0

.xls

import xlrd
boston_price=pd.read_excel('BostonHousing.xls')
import xlwt
boston_price.to_excel('BostonHousing.xls',index=False,encoding='cp949')

 

.xlsx

import openpyxl
boston_price=pd.read_excel('BostonHousing.xlsx',engine='openpyxl')
boston_price.to_excel('BostonHousing.xls',index=False,encoding='cp949')
728x90

댓글