Guidelines

pandas와 openpyxl을 함께 활용하는 방법

지금까지 배운 pandasopenpyxl은 표 형식의 데이터를 다루는 상황에 특화되어 있습니다.

pandas는 대용량 데이터를 처리하고 분석하는 데 탁월하며, openpyxl은 엑셀 파일의 서식을 세밀하게 조정할 수 있습니다.

이번 수업에서는 이 두 가지 라이브러리를 함께 사용해 엑셀 파일을 다루는 방법을 알아보겠습니다.


pandas와 openpyxl 함께 활용하기

다음 코드 예시는 pandas로 데이터를 처리한 후 openpyxl을 사용해 엑셀 파일에 데이터를 저장하고, 추가적인 서식을 적용하는 예제입니다.

pandas와 openpyxl을 활용한 데이터 처리 및 엑셀 서식 지정
import pandas as pd from openpyxl import load_workbook # pandas DataFrame 생성 df = pd.DataFrame({ 'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35] }) # pandas를 사용해 엑셀 파일로 저장 (ExcelWriter를 사용해 파일을 만듦) file_name = 'output_file.xlsx' with pd.ExcelWriter(file_name, engine='openpyxl') as writer: df.to_excel(writer, index=False, sheet_name='Sheet1') # openpyxl을 사용하여 추가 수정 작업 wb = load_workbook(file_name) # 엑셀 파일 불러오기 ws = wb['Sheet1'] # 수정할 시트 선택 # 예를 들어, A1 셀에 새로운 값을 추가 ws['A1'] = 'Updated Name' # 엑셀 파일 저장 wb.save(file_name) print("작업을 완료했습니다")

위 코드는 다음과 같은 순서로 동작합니다.


코드 상세 설명

1. Pandas로 DataFrame 생성

pandas DataFrame 생성
df = pd.DataFrame({ 'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35] })
  • pandas 라이브러리를 사용해 DataFrame을 생성합니다.

  • NameAge라는 두 개의 열이 있으며, 각 열에 이름과 나이 데이터를 저장합니다.


2. pandas를 사용해 엑셀 파일로 저장

pandas를 사용해 엑셀 파일로 저장
file_name = 'output_file.xlsx' with pd.ExcelWriter(file_name, engine='openpyxl') as writer: df.to_excel(writer, index=False, sheet_name='Sheet1')
  • ExcelWriter를 사용해 DataFrame을 엑셀 파일로 저장합니다.

  • file_name은 엑셀 파일의 이름으로, output_file.xlsx로 설정됩니다.

  • engine='openpyxl': 엑셀 파일 처리를 위한 엔진으로 openpyxl을 사용합니다.

  • to_excel() 메소드는 DataFrame을 엑셀 파일로 변환하는 역할을 합니다.

  • index=False: 인덱스를 제외하고 저장합니다.

  • sheet_name='Sheet1': 엑셀 파일에서 데이터를 저장할 시트 이름을 "Sheet1"로 설정합니다.


3. openpyxl로 엑셀 파일 열기 및 시트 선택

openpyxl을 사용하여 추가 수정 작업
wb = load_workbook(file_name) # 엑셀 파일 불러오기 ws = wb['Sheet1'] # 수정할 시트 선택
  • openpyxlload_workbook() 메소드를 사용하여 앞서 생성한 엑셀 파일 (output_file.xlsx)을 불러옵니다.

  • wb는 엑셀 파일을 참조하는 Workbook 객체입니다.

  • ws = wb['Sheet1']는 Sheet1 시트를 불러와서 선택합니다.

  • ws는 선택된 시트를 참조하는 Worksheet 객체입니다.


4. 셀 값 수정

A1 셀에 새로운 값을 추가
ws['A1'] = 'Updated Name'
  • ws['A1']은 시트에서 A1 셀을 가리킵니다.

  • A1 셀의 값을 'Updated Name'으로 변경합니다.

  • 원래 A1 셀에 저장되어 있던 값(예: 'Name')을 이 코드로 덮어씁니다.


5. 엑셀 파일 저장

wb.save()를 사용해 엑셀 파일 저장
wb.save(file_name)
  • save() 메소드를 사용하여 수정된 엑셀 파일을 저장합니다.

  • file_name에 해당하는 'output_file.xlsx' 파일에 반영된 내용을 저장합니다.

Mission
0 / 1

Pandas와 openpyxl을 함께 사용하는 이유로 가장 적절한 것은 무엇일까요?

Pandas는 데이터 프레임을 생성하고, openpyxl은 엑셀 파일을 전송할 수 있기 때문

Pandas는 데이터 분석에 용이하고, openpyxl은 엑셀 파일의 세부 서식을 조정할 수 있기 때문

Pandas는 엑셀 파일의 서식을 조정하고, openpyxl은 데이터를 분석할 수 있기 때문

Pandas와 openpyxl 모두 데이터 시각화에 특화되어 있기 때문

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result

Result

The document is empty.

Try running the code.