Python

[pandas] 엑셀 파일 불러오기, 내보내기

jsys 2024. 1. 8. 13:30

 

- openpyxl 라이브러리가 없다면 설치한다.

!pip install openpyxl

 

 

 

 

 

 

- 다음과 같은 형식으로 엑셀 파일을 불러온다.

import pandas as pd
df = pd.read_excel('data/학생시험성적.xlsx')
df

>> pd.read_excel('') 안에 불러오고 싶은 엑셀 파일의 링크를 복사하여 붙여넣으면 된다.

 

# out :

 

 

 

 

 

 

- pandas를 이용해 엑셀 파일에서 특정 시트의 내용을 읽어올 수 있다.

df = pd.read_excel("data/학생시험성적.xlsx", sheet_name = '2차시험', index_col = '학생')
df

 

# out :

 

sheet_name 옵션에는 시트 번호를 입력하거나 시트 이름을 입력하면 되고, index_col 옵션에는 번호나 특정 열 이름을 지정하면 지정된 열이 index가 된다. 아무것도 지정하지 않으면 index가 자동으로 설정된다.

 

 

 

 

 

 

- 다음과 같은 형식으로 엑셀 파일을 내보낼 수 있다.(생성)

df1 = pd.read_csv("data/sea_rain1_from_notepad.csv", encoding="cp949")
df1.to_excel("data/output.xlsx")

>> 위 코드는 csv파일을 불러온 후 to_excel()을 통해 output이라는 엑셀 파일을 내보낸 것이다.

 

 

 

+) 여기서 df1 = pd.read_csv("data/sea_rain1_from_notepad.csv")만 입력하면 아래와 같은 유니코드 에러가 난다.

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbf in position 0: invalid start byte

 

파일을 불러올 때는 인코딩을 확인해야 하는데, 아래와 같이 추가하면 에러가 해결된다.

pd.read_csv("data/sea_rain1_from_notepad.csv", encoding="cp949")

 

 

 

 

 

 

 

 

 

* 엑셀 자동화

엑셀 시트 보고서를 제작해서 매일 보고를 해야할 때 엑셀 자동화
      + 엑셀 Cell의 색상을 변경한다 등, VBA 코드도 추가
      + RPA 과정
      + openpyxl, xlsxwriter 두 개 라이브러리 사용

!pip install xlsxwriter  # 설치, 파일 내보낼 때 필요함
# 엑셀 자동화 할 때 적용 : pd.ExcelWriter

 

엑셀 자동화 관련 링크 : https://wikidocs.net/135795

 

1) 엑셀의 구성요소

엑셀 자동화에 사용하는 OpenPyxl 사용법을 설명하기 전에 엑셀의 구성요소인 Workbook, Sheet, Cell, Range에 대한 개념을 알면 코드를 이해하는데 도움…

wikidocs.net

 

'Python' 카테고리의 다른 글

[pandas] 데이터 둘러보기, 다뤄보기  (0) 2024.01.09
[seaborn] 데이터 시각화(+matplotlib)  (1) 2024.01.08
[pandas] 데이터 통합하기  (0) 2024.01.08
[matplotlib] 데이터 시각화  (1) 2024.01.06
[pandas] 데이터 불러오기  (0) 2024.01.06