반응형
Python Excel 파일 읽기, 값 변경(덮어쓰기) (예제로 이해하기)
파이썬에서 Excel 자동화를 위해 가장 많이 사용되는 라이브러리 중에 하나인 "openpyxl"을 설치하였다. 설치는 아래와 같이 간단하게 진행된다.
PS C:\Users\forgo\Documents\python_ex> pip install openpyxl
Requirement already satisfied: openpyxl in c:\users\forgo\appdata\local\programs\python\python39\lib\site-packages (3.0.7)
Requirement already satisfied: et-xmlfile in c:\users\forgo\appdata\local\programs\python\python39\lib\site-packages (from openpyxl) (1.1.0)
바로 예제를 통해 이해해보도록 하겠다.
반응형
코드>>
from openpyxl import load_workbook
# 읽어올 파일 경로지정, \\ 두번사용하는 이유는 \일 경우 \n 처럼 특수 경우 사용되는것을 피하기 위함
wb = load_workbook("C:\\Users\\forgo\\Documents\\data.xlsx")
# 현재 워크시트 선택
ws = wb.active
# 변수 선언
data = []
cnt = 0
var = []
# 해당 시트에 있는 데이터 가져 오기
for x in range(1, ws.max_row + 1):
for y in range(1, ws.max_column + 1):
var.append(ws.cell(row=x, column=y).value)
print(var)
#1행 값들 변경하기
for _ in range(1,7):
ws.cell(row=1, column=_, value="(1,"+str(_)+")")
var = []
# 해당 시트에 있는 변경된 데이터 가져 오기
for x in range(1, ws.max_row + 1):
for y in range(1, ws.max_column + 1):
var.append(ws.cell(row=x, column=y).value)
print(var)
# 파일 저장
wb.save("C:\\Users\\forgo\\Documents\\data.xlsx")
결과>>
['city name', 'east', 'west', 'north', 'south', 'center', 'seoul', 1, 1.5, 2, 3, 4, 'tokyo', 1, 1.5, 2, 3, 5, 'la', 1, 1.5, 2, 3, 4, 'newyork', 1, 1.5, 2, 3, 5, 'paris', 1, 1.5, 2, 3, 6, 'london', 1, 1.5, 2,
3, 7, 'busan', 1, 1.5, 2, 3, 8, 'sydney', 1, 1.5, 2, 3, 9]
['(1,1)', '(1,2)', '(1,3)', '(1,4)', '(1,5)', '(1,6)', 'seoul', 1, 1.5, 2, 3, 4, 'tokyo', 1, 1.5, 2, 3, 5, 'la', 1, 1.5, 2, 3, 4, 'newyork', 1, 1.5, 2, 3, 5, 'paris', 1, 1.5, 2, 3, 6, 'london', 1, 1.5, 2, 3,
7, 'busan', 1, 1.5, 2, 3, 8, 'sydney', 1, 1.5, 2, 3, 9]
엑셀 결과>>
주석>>
코드 상세 내용은 주석으로 표기하였다.
반응형