
Excel ํ์ผ์ด๋ ?
Excel ํ์ผ์ Microsoft Excel์์ ์์ฑ๋๋ ๋ฐ์ดํฐ ํ์์ผ๋ก, ์ผ๋ฐ์ ์ผ๋ก .xlsx ๋๋ .xls ํ์ฅ์๋ฅผ ๊ฐ์ง๋ค. ๊ฐ Excel ํ์ผ์ ์ฌ๋ฌ ๊ฐ์ ์ํธ(Sheet)๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์ํธ ์์๋ ํ(Row)๊ณผ ์ด(Column)๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ค.
๋ฐ์ดํฐ ๋ถ์์์ Excel ํ์ผ์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ํ์ ์ค ํ๋๋ค. Pandas๋ Excel ํ์ผ์ ์์ฝ๊ฒ ๋ค๋ฃฐ ์ ์๋ read_excel() ํจ์๋ฅผ ์ ๊ณตํ๋ค. ์ด ๊ธ์์๋ Excel ํ์ผ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ณ , Pandas๋ฅผ ํ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ, ๊ทธ๋ฆฌ๊ณ ์์ฃผ ๋ฐ์ํ๋ ๋ฌธ์ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ดํด๋ณธ๋ค.
Excel ํ์ผ ์์:
# Sheet1
Name Age City
๊น์์ธ 25 ์์ธ
์ด์ ์ฃผ 30 ์ ์ฃผ
์ก๊ณต์ฃผ 35 ๊ณต์ฃผ
# Sheet2
Product Sales
A 100
B 200
C 300
Pandas๋ก Excel ํ์ผ ๋ถ๋ฌ์ค๊ธฐ
Pandas์ read_excel() ํจ์๋ Excel ํ์ผ์ ์ฝ์ด DataFrame์ผ๋ก ๋ณํํ๋ค. ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
import pandas as pd
# Excel ํ์ผ ์ฝ๊ธฐ
df = pd.read_excel('data.xlsx')
# ๋ฐ์ดํฐ ํ์ธ
print(df.head())
# ์ถ๋ ฅ ์์
# Name Age City
# ๊น์์ธ 25 ์์ธ
# ์ด์ ์ฃผ 30 ์ ์ฃผ
# ์ก๊ณต์ฃผ 35 ๊ณต์ฃผ
์ฃผ์ ๋งค๊ฐ๋ณ์ (Parameters)
# sheet_name
# ์ฝ์ด์ฌ ์ํธ๋ฅผ ์ง์ ํจ
# default๋ 0์ผ๋ก ์ฒซ ๋ฒ์งธ ์ํธ๋ฅผ ์ฝ์
# ๋ค์ค ์ํธ ์ฝ๊ธฐ:
# ํน์ ์ํธ ์ด๋ฆ: sheet_name='Sheet1'
# ์ํธ ๋ฒํธ: sheet_name=1 (๋ ๋ฒ์งธ ์ํธ)
# ๋ชจ๋ ์ํธ ์ฝ๊ธฐ: sheet_name=None (๊ฒฐ๊ณผ๋ ๋์
๋๋ฆฌ ํํ)
df = pd.read_excel('data.xlsx', sheet_name=0) # ์ฒซ ๋ฒ์งธ ์ํธ ์ฝ๊ธฐ
df_sheet1 = pd.read_excel('data.xlsx', sheet_name='Sheet1') # ํน์ ์ํธ ์ด๋ฆ์ผ๋ก ์ฝ๊ธฐ
# ๋ชจ๋ ์ํธ ์ฝ๊ธฐ
dfs = pd.read_excel('data.xlsx', sheet_name=None) # ๊ฒฐ๊ณผ๋ ๋์
๋๋ฆฌ ํํ
# header
# ํค๋(์ด ์ด๋ฆ)๊ฐ ์๋ ํ ๋ฒํธ๋ฅผ ์ง์ ํจ
# default๋ 0(์ฒซ ๋ฒ์งธ ํ)
# ํค๋๊ฐ ์๊ฑฐ๋ ๋ค๋ฅธ ์์น์ ์์ ๊ฒฝ์ฐ ์ง์ ์ง์ ๊ฐ๋ฅํจ
df = pd.read_excel('data.xlsx', header=0) # ์ฒซ ๋ฒ์งธ ํ์ ํค๋๋ก ์ฌ์ฉ
df_no_header = pd.read_excel('data.xlsx', header=None) # ํค๋ ์์ด ์ฝ๊ธฐ
# usecols
# ์ฝ์ด์ฌ ์ด์ ๋ฒ์ ๋๋ ์ด๋ฆ์ ์ง์ ํจ
df_columns = pd.read_excel('data.xlsx', usecols='A:C') # ํน์ ์ด ๋ฒ์ ์ฝ๊ธฐ
df_selected = pd.read_excel('data.xlsx', usecols=['Name', 'Age']) # ํน์ ์ด ์ด๋ฆ๋ง ์ฝ๊ธฐ
# skiprows
# ์ฝ๋ ๋์ ๊ฑด๋๋ธ ํ ์๋ฅผ ์ง์ ํจ
# ๋ฐ์ดํฐ ์์ ์ค๋ช
์ด๋ ๋ฉํ๋ฐ์ดํฐ๊ฐ ์๋ ๊ฒฝ์ฐ ์ ์ฉ
df_skip = pd.read_excel('data.xlsx', skiprows=2) # ์ฒ์ 2๊ฐ์ ํ ๊ฑด๋๋ฐ๊ธฐ
# dtype
# ํน์ ์ด์ ๋ฐ์ดํฐ ํ์
์ ์ง์ ํจ
df = pd.read_excel('data.xlsx', dtype={'Age': int}) # Age ์ด์ ์ ์๋ก ์ฝ๊ธฐ
read_excel() ์ ๊ฒฝ์ฐ์๋ read_csv()์ฒ๋ผ ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ๋ํํ๋ค. ํด๋น ๋ด์ฉ์ ์ด์ ์ ์์ฑํ ๊ธ์ ์ฐธ๊ณ ํ๊ธธ ๋ฐ๋๋ค.
2025.01.22 - [๊ฐ๋ฐ Code/ํ์ด์ฌ Python] - [Python][pandas] ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ - CSV
[Python][pandas] ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ - CSV
CSV๋ ? ๋ฐ์ดํฐ ๋ถ์์์ ๊ฐ์ฅ ํํ ์ ํ๋ ํ์ ์ค ํ๋๊ฐ CSV(Comma Separated Values) ํ์ผ์ด๋ค. CSV๋ ๋ฐ์ดํฐ๊ฐ ์ผํ(๋๋ ๋ค๋ฅธ ๊ตฌ๋ถ์)๋ก ๊ตฌ๋ถ๋ ํ ์คํธ ํ์์ผ๋ก ์ ์ฅ๋๋ค. Pandas์ read_csv() ํจ์๋
5hr1rnp.tistory.com
'๊ฐ๋ฐ Code > ํ์ด์ฌ Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python][numpy] Numpy ๋ฐฐ์ด ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ (0) | 2025.02.09 |
---|---|
[Python][numpy] Numpy ๊ธฐ์ด๋ถํฐ ํ์ฉ๊น์ง (0) | 2025.02.08 |
[Python][pandas] ๋ฐ์ดํฐ ์ ๋ ฌํ๊ธฐ - Sort (0) | 2025.01.30 |
[Python][pandas] ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ - CSV (0) | 2025.01.22 |
[Python][pandas] pandas ํบ์๋ณด๊ธฐ (0) | 2025.01.22 |