Pandas를 사용하여 데이터프레임을 Excel 파일로 읽고 쓰는 방법에 대해 상세히 설명하겠습니다.
데이터프레임을 엑셀로 저장하는 경우 to_excel() 메서드를 사용하고, Excel 파일을 읽어서 데이터프레임으로 변환하는 경우 read_excel() 함수를 사용합니다.
데이터프레임을 엑셀 파일로 저장하기
Pandas의 to_excel() 메서드를 사용하여 데이터프레임을 엑셀 파일로 저장할 수 있습니다. to_excel() 메서드는 엑셀 파일의 경로와 파일 이름을 지정하는 매개변수를 사용합니다. 아래는 예시 코드입니다.
import pandas as pd
# 샘플 데이터프레임 생성
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Salary': [50000, 60000, 70000]}
df = pd.DataFrame(data)
# 데이터프레임을 엑셀 파일로 저장
file_name = 'sample_data.xlsx'
df.to_excel(file_name, index=False) # index=False를 지정하면 인덱스를 엑셀 파일에 저장하지 않습니다.Pandas에서는 to_excel() 메서드를 사용하여 데이터프레임을 엑셀로 저장할 수 있으며, 다양한 옵션을 활용하여 저장 방식을 조정할 수 있습니다.
특정 시트명으로 저장
to_excel() 메서드의 sheet_name 매개변수를 사용하여 특정 시트명으로 저장할 수 있습니다.
df.to_excel('output.xlsx', sheet_name='Sheet1', index=False)특정 컬럼 선택하여 저장
columns 매개변수를 사용하여 특정 컬럼만 선택하여 엑셀로 저장할 수 있습니다.
df.to_excel('output.xlsx', index=False, columns=['Name', 'Salary'])다중 시트로 저장
ExcelWriter를 사용하여 여러 개의 데이터프레임을 다중 시트로 저장할 수 있습니다.
with pd.ExcelWriter('output.xlsx') as writer:
df1.to_excel(writer, sheet_name='Sheet1', index=False)
df2.to_excel(writer, sheet_name='Sheet2', index=False)위의 예시 코드에서 df1과 df2는 서로 다른 두 개의 데이터프레임을 나타냅니다. pd.ExcelWriter()를 사용하여 ExcelWriter 개체를 생성하고, to_excel() 메서드에 writer를 매개변수로 지정하여 여러 개의 데이터프레임을 다중 시트로 저장합니다.
엑셀 파일을 데이터프레임으로 읽기
Pandas의 read_excel() 함수를 사용하여 엑셀 파일을 읽어 데이터프레임으로 변환할 수 있습니다. read_excel() 함수는 엑셀 파일의 경로와 파일 이름을 지정하는 매개변수를 사용합니다. 아래는 예시 코드입니다.
import pandas as pd
# 엑셀 파일을 데이터프레임으로 읽기
file_name = 'sample_data.xlsx'
df = pd.read_excel(file_name)
print(df)위 예제에서는 read_excel() 함수를 사용하여 sample_data.xlsx 파일을 읽어서 데이터프레임으로 변환합니다.
그리고 print(df)를 사용하여 읽어온 데이터프레임을 출력합니다.
다양한 상황을 고려하여 엑셀 파일을 읽고 데이터프레임으로 변환하는 방법을 보여드리겠습니다.
특정 시트 읽기
sheet_name 매개변수를 사용하여 특정 시트를 지정하여 읽을 수 있습니다.
df = pd.read_excel('sample_data.xlsx', sheet_name='Sheet2')
print(df)특정 행 무시하기
skiprows 매개변수를 사용하여 특정 행을 무시하고 데이터를 읽을 수 있습니다.
df = pd.read_excel('sample_data.xlsx', skiprows=2)
print(df)특정 열 선택하기
usecols 매개변수를 사용하여 특정 열만 선택하여 데이터프레임으로 읽을 수 있습니다.
df = pd.read_excel('sample_data.xlsx', usecols=['Name', 'Salary'])
print(df)결측치 처리하기
na_values 매개변수를 사용하여 엑셀 파일에서 읽을 때 결측치를 지정할 수 있습니다.
df = pd.read_excel('sample_data.xlsx', na_values=['NA', 'N/A'])
print(df)인덱스 컬럼 지정하기
index_col 매개변수를 사용하여 특정 열을 인덱스로 지정할 수 있습니다.
df = pd.read_excel('sample_data.xlsx', index_col='ID')
print(df)날짜 파싱
parse_dates 매개변수를 사용하여 엑셀 파일에서 날짜 형식의 데이터를 파싱할 수 있습니다.
df = pd.read_excel('sample_data.xlsx', parse_dates=['Date'])
print(df)다중 시트 읽기
pd.read_excel() 함수는 기본적으로 첫 번째 시트만 읽지만, sheet_name=None을 지정하여 모든 시트를 읽을 수 있습니다.
all_sheets = pd.read_excel('sample_data.xlsx', sheet_name=None)
for sheet_name, df in all_sheets.items():
print(f"Sheet Name: {sheet_name}")
print(df)위의 예제에서는 sheet_name=None을 지정하여 모든 시트를 읽은 후, all_sheets라는 사전(Dictionary)에 각 시트의 데이터프레임을 저장합니다.
그런 다음 for 루프를 사용하여 각 시트의 이름과 데이터프레임을 출력합니다.
이렇게 to_excel() 메서드와 read_excel() 함수를 사용하여 데이터프레임과 엑셀 파일 간에 데이터를 저장하고 읽을 수 있습니다.
데이터를 엑셀 파일로 저장하면 다른 애플리케이션에서도 데이터를 활용할 수 있으며, 엑셀 파일로부터 데이터를 읽어서 데이터프레임으로 활용할 수 있습니다.
![[Python] 12. Pandas 데이터프레임 시각화 함수 만들어 사용하기](https://coldbrown.co.kr/wp-content/uploads/2023/07/Python-12.-Pandas-데이터프레임-시각화-함수-만들어-사용하기.png)
![[Python] 04. Pandas 데이터프레임 누락된 데이터 처리하기](https://coldbrown.co.kr/wp-content/uploads/2023/07/Python-04.-Pandas-데이터프레임-누락된-데이터-처리하기-150x150.png)
![[Python] 01. Pandas 데이터프레임 생성하기](https://coldbrown.co.kr/wp-content/uploads/2023/07/Python-01.-Pandas-데이터프레임-생성하기-150x150.png)
![[Python] 09. Seaborn 여러 개의 plot 한번에 그리기](https://coldbrown.co.kr/wp-content/uploads/2023/07/Python-09.-Seaborn-여러-개의-plot-한번에-그리기-150x150.png)
![[Python] 06. Pandas 데이터프레임 시각화하기 (Matplotlib)](https://coldbrown.co.kr/wp-content/uploads/2023/07/Python-06.-Pandas-데이터프레임-시각화하기-Matplotlib-150x150.png)