파이썬에서 엑셀 파일에 액세스하려면 openpyxl이라는 라이브러리를 사용할 수 있습니다.
이 라이브러리를 사용하면 엑셀 파일에서 읽고 쓸 수 있습니다.
openpyxl 사용 예시
아래에 엑셀 파일에 액세스하기 위해 openpyxl을 사용할 수 있는 예가 있습니다.
import openpyxl
# Load the Excel file
workbook = openpyxl.load_workbook('example.xlsx')
# Select the specific sheet you want to work with
sheet = workbook['Sheet1']
# Access cell values
cell_value = sheet['A1'].value
print(cell_value)
# Access cell values using row and column indices
cell_value = sheet.cell(row=1, column=1).value
print(cell_value)
# Iterate over rows
for row in sheet.iter_rows(min_row=1, max_row=3, min_col=1, max_col=3):
for cell in row:
print(cell.value)
# Write to a cell
sheet['A2'] = 'Hello, Python!'
# Save the changes to the Excel file
workbook.save('example.xlsx')
이 예제에서는 먼저 openpyxl 라이브러리를 가져옵니다.
그런 다음 load_workbook 함수를 사용하여 엑셀 파일을 로드하여 파일 이름을 인수로 제공합니다.
import openpyxl
# Load the Excel file
workbook = openpyxl.load_workbook('example.xlsx')
load_workbook 은 기존의 파일을 load 하는 함수이고, 존재하지 않는 파일은 create 를 통해 생성해야 합니다.
아래에 create 하는 코드도 추가합니다. 새로 생성된 workbook 은 저장하기 전까지는 파일이 만들어진 것은 아닙니다.
실제 파일로 save 를 해야 엑셀 파일이 생성됩니다.
# Create a new workbook
workbook = openpyxl.Workbook()
# ....
# 생성된 workbook 을 통해 excel 에 접근하여 작업한다.
# 아직 저장하지 않았으므로 실제 파일은 생성되지 않은 상태이다.
# ....
# Save the workbook
workbook.save('new_file.xlsx')
특정 시트의 이름(이 경우 'Sheet1')을 사용하여 액세스할 수 있고 이름을 재지정할 수도 있습니다.
# Select the specific sheet you want to work with
sheet = workbook['Sheet1']
아래와 같이 default worksheet 를 받아 엑세스할 수도 있습니다.
# Access the default worksheet
sheet = workbook.active
셀 값에 액세스하려면 시트['A1'].값 표기법 또는 시트.셀(행, 열).값 표기법을 사용하여 행 및 열 인덱스를 지정할 수 있습니다.
# Access cell values
cell_value = sheet['A1'].value
print(cell_value)
# Access cell values using row and column indices
cell_value = sheet.cell(row=1, column=1).value
print(cell_value)
행 또는 열을 반복하거나 반복할 행 및 열의 범위를 지정하는 반복을 사용할 수 있습니다.
# Iterate over rows
for row in sheet.iter_rows(min_row=1, max_row=3, min_col=1, max_col=3):
for cell in row:
print(cell.value)
엑셀 파일을 수정하기 위해 특정 셀(sheet['A2'] = 'Hello, Python!')에 값을 할당하는 방법입니다.
# Write to a cell
sheet['A2'] = 'Hello, Python!'
마지막으로, workbook.save() 를 통해 변경 사항을 저장합니다.
# Save the changes to the Excel file
workbook.save('example.xlsx')
openpyxl 설치 부터 사용까지
다시 처음으로 openpyxl 를 사용하기 위해서는 library 가 설치되어 있어야 하는데, 이 과정을 하나씩 아래에 추가하겠습니다.
1. Installation
python의 package installer인 pip를 이용하여 openpyxl을 설치할 수 있습니다.
명령 프롬프트 또는 단말을 열고 다음 명령어를 실행.
pip install openpyxl
2. Import
openpyxl이 설치된 상태라면 파이썬 스크립트로 가져올 수 있고 아래와 같이 import 하여 사용합니다.
import openpyxl
3. Read
기존 엑셀 파일의 데이터를 읽기 위해서는 파일 경로를 지정하여 openpyxl.load_workbook() 을 사용할 수 있습니다. 로드되면 특정 워크시트에 액세스하고 셀에서 데이터를 검색할 수 있습니다.
# Load the Excel file
workbook = openpyxl.load_workbook('example.xlsx')
# Access a specific worksheet by name
worksheet = workbook['Sheet1']
# Read data from a cell
cell_value = worksheet['A1'].value
# Print the cell value
print(cell_value)
4. Create
새로운 엑셀 파일을 만들기 위해서는 openpyxl.Workbook() 을 사용할 수 있습니다. 워크시트를 추가하고 셀에 데이터를 작성하며 워크북을 저장할 수 있습니다
# Create a new workbook
workbook = openpyxl.Workbook()
# Access the default worksheet
worksheet = workbook.active
# Write data to a cell
worksheet['A1'] = 'Hello, World!'
# Save the workbook
workbook.save('new_file.xlsx')
5. Append
openpyxl.append() 는 기존 내용을 덮어쓰지 않고 기존 워크시트에 새 데이터 행을 추가할 때 유용합니다.
import openpyxl
# Load the Excel file
workbook = openpyxl.load_workbook('example.xlsx')
# Access a specific worksheet by name
worksheet = workbook['Sheet1']
# Data to append
new_data = [
['John', 'Doe', 'john@example.com'],
['Jane', 'Smith', 'jane@example.com'],
['Mike', 'Johnson', 'mike@example.com']
]
# Append the data to the worksheet
for row in new_data:
worksheet.append(row)
# Save the modified workbook
workbook.save('example.xlsx')
지금까지 Python 에서 openpyxl 을 사용하는 방법을 살펴보았습니다. 그 외에도 많은 기능이 있습니다.
실제로 사용하면서 익숙해지신다면 더 많은 기능들을 사용하실 수 있을 것 같습니다.
감사합니다.
'IT > Python' 카테고리의 다른 글
Python 파이썬으로 String 문자열 처리 (0) | 2023.06.23 |
---|---|
Python 파이썬으로 정규 표현식 사용 - re module (0) | 2023.06.22 |
Python 파이썬으로 HTML 다루기 - BeautifulSoup (0) | 2023.06.21 |
Python 파이썬 기본 문법 (0) | 2023.06.18 |
Python 파이썬 프로그래밍 소개 (0) | 2023.06.18 |