04-29 02:46
Notice
Recent Posts
Recent Comments
관리 메뉴

Scientific Computing & Data Science

[Programming / Python] openpyxl 모듈의 load_workbook을 활용하여 Excel 데이터 변경하기 본문

Programming/Python

[Programming / Python] openpyxl 모듈의 load_workbook을 활용하여 Excel 데이터 변경하기

cinema4dr12 2017. 11. 26. 00:06

이번 포스팅에서는 python에서 openpyxl 모듈의 load_workbook을 활용하여 Excel 데이터 변경하는 방법에 대하여 알아보도록 하겠습니다.


우선 아래 Excel 파일을 Working Directory에 다운받으시기 바랍니다: test.xlsx


Excel 파일을 열면 아래 이미지와 같이 x, y(= sin(x))로 구성되어 있음을 확인할 수 있습니다.



이제 y = sin(x) 대신 y = cos(x)로 C열의 3:12 Cell을 교체하여 새로운 Excel 파일로 저장하도록 하겠습니다.


다음은 앞서 언급한 내용을 구현하는 샘플 코드입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import numpy as np
from openpyxl import load_workbook
 
= [12345678910]
= np.cos(x)
 
# open an xlsx for reading
excel_filename = './test.xlsx'
wb = load_workbook(filename = excel_filename)
 
# get the worksheet
ws = wb.get_sheet_by_name(wb.get_sheet_names()[0])
 
start_idx = 3
for ii in range(len(y)):
    ws.cell(row=start_idx, column=3).value = y[ii]
    start_idx += 1
 
# save data as excel file
wb.save(filename= './test2.xlsx')
cs

 

Line 8~9는 해당 원본 Excel 파일을 열어 wb 변수에 저장합니다. 그리고 Line 12에서 첫번째 Worksheet 데이터를 얻어온 후, Line 14~17에서는 C열의 3:12에 해당하는 기존 y 데이터를 새로운 y 데이터로 변경합니다. 마지막으로, Line 20에서 새로운 Excel 파일인 "test2.xlsx"로 현재의 Working Directory에 저장합니다.


아래 이미지는 새로 저장된 Excel 파일의 데이터 내용입니다.


Comments