Search

μ—‘μ…€

μ—‘μ…€ 파일 뢄석

β€’
μ—‘μ…€ 톡합 λ¬Έμ„œ 읽기
β€’
단일 μ›Œν¬ μ‹œνŠΈ 처리
β—¦
μ—‘μ…€ 파일 μž…μΆœλ ₯
β—¦
νŠΉμ •ν–‰ 필터링
β—¦
νŠΉμ • μ—΄ 선택
β€’
λͺ¨λ“  μ›Œν¬ μ‹œνŠΈ 처리
β—¦
νŠΉμ •ν–‰ 필터링
β—¦
νŠΉμ • μ—΄ 선택
β€’
μ›Œν¬μ‹œνŠΈ 집합 처리
β—¦
νŠΉμ •ν–‰ 필터링
β€’
μ—¬λŸ¬ 톡합 λ¬Έμ„œ 처리
β—¦
톡합 λ¬Έμ„œ 개수 및 ν–‰, μ—΄ 개수
β—¦
μ—¬λŸ¬ 개 톡합 λ¬Έμ„œ 병합
β—¦
ν†΅ν•©λ¬Έμ„œ 합계 및 평균
β—¦
μ›Œν¬μ‹œνŠΈ 합계 및 평균

μ—‘μ…€ 파일 κ΄€λ ¨ νŒ¨ν‚€μ§€

β€’
openpyxl
β€’
pandas

openpyxl

Pythonμ—μ„œ Excel νŒŒμΌμ„ 읽고 μ“°κΈ° μœ„ν•œ 라이브러리
openpyxl λͺ¨λ“ˆμ€ Excel νŒŒμΌμ„ μƒμ„±ν•˜κ³  μˆ˜μ •ν•˜λŠ” 데 ν•„μš”ν•œ λ‹€μ–‘ν•œ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.

μ£Όμš” 클래슀

클래슀
μ„€λͺ…
Workbook
Excel 파일 전체λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 클래슀. μƒˆλ‘œμš΄ μ›Œν¬λΆμ„ μƒμ„±ν•˜κ±°λ‚˜ κΈ°μ‘΄ μ›Œν¬λΆμ„ λ‘œλ“œν•  λ•Œ μ‚¬μš©λ¨.
Worksheet
μ›Œν¬λΆ λ‚΄μ—μ„œ ν•˜λ‚˜ μ΄μƒμ˜ μ›Œν¬μ‹œνŠΈλ₯Ό λ‚˜νƒ€λ‚΄λŠ” 클래슀. ν…Œμ΄λΈ” ν˜•μ‹μ˜ 데이터λ₯Ό ν¬ν•¨ν•˜κ³  있음.
Cell
μ›Œν¬μ‹œνŠΈ λ‚΄μ˜ νŠΉμ • 셀을 λ‚˜νƒ€λ‚΄λŠ” 클래슀. 각 셀은 값을 μ €μž₯ν•˜κ³  μ„œμ‹μ„ μ§€μ •ν•˜λŠ” 데 μ‚¬μš©λ¨.
ColumnDimension
μ—΄μ˜ 차원(λ„ˆλΉ„, μˆ¨κΉ€ μ—¬λΆ€ λ“±)을 λ‚˜νƒ€λ‚΄λŠ” 클래슀.
RowDimension
ν–‰μ˜ 차원(높이, μˆ¨κΉ€ μ—¬λΆ€ λ“±)을 λ‚˜νƒ€λ‚΄λŠ” 클래슀.
NamedStyle
이름이 μ§€μ •λœ μŠ€νƒ€μΌμ„ λ‚˜νƒ€λ‚΄λŠ” 클래슀.
Font
셀에 μ μš©λ˜λŠ” 폰트 μŠ€νƒ€μΌμ„ λ‚˜νƒ€λ‚΄λŠ” 클래슀.
Fill
μ…€μ˜ 배경색 및 νŒ¨ν„΄μ„ μ„€μ •ν•˜λŠ” 클래슀.
Border
μ…€ μ£Όμœ„μ˜ ν…Œλ‘λ¦¬ μŠ€νƒ€μΌμ„ μ„€μ •ν•˜λŠ” 클래슀.
Alignment
μ…€μ˜ ν…μŠ€νŠΈλ₯Ό μ •λ ¬ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” 클래슀.
Protection
μ…€μ˜ 보호 섀정을 λ‚˜νƒ€λ‚΄λŠ” 클래슀.
NamedRange
이름이 μ§€μ •λœ λ²”μœ„λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 클래슀.
PivotTableDefinition
ν”Όλ²— ν…Œμ΄λΈ” μ •μ˜λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 클래슀.
PivotCacheDefinition
ν”Όλ²— μΊμ‹œ μ •μ˜λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 클래슀.

μ£Όμš” λ©”μ†Œλ“œ

β€’
Workbook μ£Όμš” λ©”μ†Œλ“œ
β€’
Worksheet μ£Όμš” λ©”μ†Œλ“œ
β€’
Worksheet 기타 λ©”μ†Œλ“œ

Workbook μ£Όμš” λ©”μ†Œλ“œ

λ©”μ„œλ“œ
μ„€λͺ…
load_workbook(filename)
주어진 파일λͺ…μœΌλ‘œ Excel νŒŒμΌμ„ λ‘œλ“œν•©λ‹ˆλ‹€.
Workbook.create_sheet(title=None, index=None)
μƒˆλ‘œμš΄ μ›Œν¬μ‹œνŠΈλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
Workbook.copy_worksheet(worksheet)
주어진 μ›Œν¬μ‹œνŠΈλ₯Ό λ³΅μ‚¬ν•˜μ—¬ μƒˆλ‘œμš΄ μ›Œν¬μ‹œνŠΈλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
Workbook.active
ν™œμ„±ν™”λœ μ›Œν¬μ‹œνŠΈλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
Workbook.save(filename)
ν˜„μž¬ μ›Œν¬λΆμ„ 주어진 파일λͺ…μœΌλ‘œ μ €μž₯ν•©λ‹ˆλ‹€.
Workbook.close()
μ›Œν¬λΆμ„ λ‹«μŠ΅λ‹ˆλ‹€.

Worksheet μ£Όμš” λ©”μ†Œλ“œ

λ©”μ„œλ“œ
μ„€λͺ…
Worksheet.cell(row, column, value=None)
주어진 ν–‰κ³Ό μ—΄μ˜ μœ„μΉ˜μ— μžˆλŠ” 셀을 λ°˜ν™˜ν•©λ‹ˆλ‹€.
Worksheet.iter_rows(...)
주어진 λ²”μœ„μ˜ 행을 λ°˜λ³΅ν•˜λ©° μ…€μ˜ 값을 κ°€μ Έμ˜΅λ‹ˆλ‹€.
Worksheet.iter_cols(...)
주어진 λ²”μœ„μ˜ 열을 λ°˜λ³΅ν•˜λ©° μ…€μ˜ 값을 κ°€μ Έμ˜΅λ‹ˆλ‹€.
Worksheet.append(values)
주어진 값을 μ›Œν¬μ‹œνŠΈμ— μΆ”κ°€ν•©λ‹ˆλ‹€.
Worksheet.delete_rows(...)
주어진 μΈλ±μŠ€λΆ€ν„° μ‹œμž‘ν•˜μ—¬ 주어진 μˆ˜λŸ‰λ§ŒνΌμ˜ 행을 μ‚­μ œν•©λ‹ˆλ‹€.
Worksheet.delete_cols(...)
주어진 μΈλ±μŠ€λΆ€ν„° μ‹œμž‘ν•˜μ—¬ 주어진 μˆ˜λŸ‰λ§ŒνΌμ˜ 열을 μ‚­μ œν•©λ‹ˆλ‹€.
Worksheet.insert_rows(...)
주어진 μΈλ±μŠ€μ— μ§€μ •λœ μˆ˜λŸ‰λ§ŒνΌμ˜ 행을 μ‚½μž…ν•©λ‹ˆλ‹€.
Worksheet.insert_cols(...)
주어진 μΈλ±μŠ€μ— μ§€μ •λœ μˆ˜λŸ‰λ§ŒνΌμ˜ 열을 μ‚½μž…ν•©λ‹ˆλ‹€.
Worksheet.merge_cells(range_string)
주어진 λ²”μœ„ λ¬Έμžμ—΄μ— λŒ€ν•œ 셀을 λ³‘ν•©ν•©λ‹ˆλ‹€.
Worksheet.unmerge_cells(range_string)
주어진 λ²”μœ„ λ¬Έμžμ—΄μ— λŒ€ν•œ μ…€μ˜ 병합을 ν•΄μ œν•©λ‹ˆλ‹€.
Worksheet.freeze_panes()
μ›Œν¬μ‹œνŠΈμ˜ ν–‰ 및 열을 κ³ μ •ν•˜μ—¬ 슀크둀 μ‹œ ν‘œμ‹œλ˜λŠ” μ˜μ—­μ„ κ³ μ •μ‹œν‚΅λ‹ˆλ‹€.
Worksheet.unfreeze_panes()
μ›Œν¬μ‹œνŠΈμ˜ 고정을 ν•΄μ œν•©λ‹ˆλ‹€.

Worksheet 기타 λ©”μ†Œλ“œ

λ©”μ„œλ“œ
μ„€λͺ…
Worksheet.add_data_validation(data_validation)
μ›Œν¬μ‹œνŠΈμ— 데이터 μœ νš¨μ„± 검사λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.
Worksheet.delete_data_validation(cell)
주어진 셀에 μžˆλŠ” 데이터 μœ νš¨μ„± 검사λ₯Ό μ‚­μ œν•©λ‹ˆλ‹€.
Worksheet.move_range(...)
주어진 λ²”μœ„μ˜ 셀을 주어진 μˆ˜λŸ‰λ§ŒνΌ μ΄λ™μ‹œν‚΅λ‹ˆλ‹€.
Worksheet.row_dimensions[row_index]
주어진 ν–‰μ˜ 차원(λ„ˆλΉ„, 높이 λ“±)을 κ°€μ Έμ˜€κ±°λ‚˜ μ„€μ •ν•©λ‹ˆλ‹€.
Worksheet.column_dimensions[column_index]
주어진 μ—΄μ˜ 차원(λ„ˆλΉ„, 높이 λ“±)을 κ°€μ Έμ˜€κ±°λ‚˜ μ„€μ •ν•©λ‹ˆλ‹€.
Worksheet.cell(row, column, value=None)
νŠΉμ • ν–‰κ³Ό μ—΄μ˜ μœ„μΉ˜μ— μžˆλŠ” 셀을 κ°€μ Έμ˜€κ±°λ‚˜ μƒμ„±ν•©λ‹ˆλ‹€.

pandas

νŒŒμ΄μ¬μ—μ„œ 데이터 μ‘°μž‘κ³Ό 뢄석을 μœ„ν•œ 라이브러리둜, pandasμ—μ„œλ„ μ—‘μ…€ 파일λ₯Ό λ‹€λ£¨λŠ” κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.

μ£Όμš” 클래슀

νŠΉμ§•
μ‹œλ¦¬μ¦ˆ(Series)
λ°μ΄ν„°ν”„λ ˆμž„(DataFrame)
ꡬ쑰
1차원 λ°°μ—΄ ν˜•νƒœμ˜ 데이터 ꡬ쑰
2차원 ν‘œ ν˜•νƒœμ˜ 데이터 ꡬ쑰
κ΅¬μ„±μš”μ†Œ
κ°’κ³Ό ν•΄λ‹Ή 값에 λŒ€ν•œ 인덱슀λ₯Ό 포함
μ—¬λŸ¬ 개의 μ‹œλ¦¬μ¦ˆλ‘œ κ΅¬μ„±λœ ν‘œ ν˜•νƒœμ˜ 데이터 ꡬ쑰
인덱슀
μ‚¬μš©μžκ°€ μ§€μ •ν•œ λ ˆμ΄λΈ” λ˜λŠ” κΈ°λ³Έ μ •μˆ˜ 인덱슀
ν–‰ 및 열에 λŒ€ν•œ λ ˆμ΄λΈ”μ„ 가짐
κ°’
μ„œλ‘œ λ‹€λ₯Έ 데이터 μœ ν˜•μ„ κ°€μ§ˆ 수 있음
ν•˜λ‚˜μ˜ 열은 λ™μΌν•œ 데이터 μœ ν˜•μ„ 가짐
생성 방법
pandas.Series() ν•¨μˆ˜λ‘œ 생성
pandas.DataFrame() ν•¨μˆ˜λ‘œ 생성
μ˜ˆμ‹œ
μ„ΈκΈˆ 정보, 주식 가격, μ„Όμ„œ 데이터 λ“±
고객 정보, μ£Όλ¬Έ λ‚΄μ—­, μ—°κ°„ 맀좜 데이터 λ“±
μ£Όμš” λ©”μ„œλ“œ 및 속성
.values, .index, .head(), .tail(), .describe(), .unique(), .map(), .apply() λ“±
.columns, .index, .head(), .tail(), .describe(), .info(), .shape, .dtypes, .iloc[], .loc[] λ“±

μ£Όμš” λ©”μ†Œλ“œ

λ©”μ„œλ“œ
μ„€λͺ…
pandas.read_excel()
μ—‘μ…€ νŒŒμΌμ„ 읽어 DataFrame으둜 λ°˜ν™˜ν•©λ‹ˆλ‹€.
pandas.ExcelFile()
μ—‘μ…€ νŒŒμΌμ„ μ½μ–΄μ„œ ExcelFile 객체λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
ExcelFile.parse()
ExcelFile κ°μ²΄μ—μ„œ νŠΉμ • μ‹œνŠΈλ₯Ό 읽어 DataFrame으둜 λ°˜ν™˜ν•©λ‹ˆλ‹€.
DataFrame.to_excel()
DataFrame을 μ—‘μ…€ 파일둜 μ €μž₯ν•©λ‹ˆλ‹€.

μ—‘μ…€ 톡합 λ¬Έμ„œ 읽기

Python
볡사

단일 μ›Œν¬ μ‹œνŠΈ 처리

μ—‘μ…€ 파일 μž…μΆœλ ₯

β€’
κΈ°λ³Έ μž…μΆœλ ₯
Python
볡사
β€’
λ‚ μ§œ ν˜•μ‹ ν• λ‹Ή
Python
볡사
β€’
λ‚ μ§œ ν˜•μ‹ ν• λ‹Ή (pandas)
Python
볡사

νŠΉμ •ν–‰ 필터링

β€’
νŠΉμ • 쑰건 필터링
Python
볡사
β€’
νŠΉμ • 쑰건 필터링 (pandas)
Python
볡사

νŠΉμ • μ—΄ 선택

Python
볡사

λͺ¨λ“  μ›Œν¬ μ‹œνŠΈ 처리

νŠΉμ • ν–‰ 필터링

νŠΉμ • μ—΄ 선택

μ›Œν¬μ‹œνŠΈ 집합 처리

νŠΉμ •ν–‰ 필터링

μ—¬λŸ¬ 톡합 λ¬Έμ„œ 처리

톡합 λ¬Έμ„œ 개수 및 ν–‰, μ—΄ 개수

μ—¬λŸ¬ 개 톡합 λ¬Έμ„œ 병합

ν†΅ν•©λ¬Έμ„œ 합계 및 평균

μ›Œν¬μ‹œνŠΈ 합계 및 평κ·