[Python] 엑셀을 수식 자동으로 수정하기
2022. 4. 23. 02:53ㆍIT
엑셀 파일을 수정해 달라는 요청을 받았다. 수치값을 입력한 파일에서 그 값들을 변경하고 수식도 변경이 필요한 상황이다. 몇 개 안되는 파일이야 쉽게 수정이 가능하지만 그 숫자가 많을 때는 자동화가 최고 !!!
openpyxl이라는 라이브러리를 사용해서 원본 파일 test.xlsx를 읽어 숫자는 나누기 1000으로 하고, 수식이 들어간 경우는 수식 '+ 24'를 하는 작업을 해야 한다고 생각하고 다음을 만들어 봤다. 만든 파일은 text1.xlsx로 저장을 한다.
import openpyxl
from openpyxl import Workbook
org_wb = openpyxl.load_workbook(filename= 'test.xlsx')
org_ws = org_wb.active
wb = Workbook()
ws = wb.active
ws.sheet_properties.tabColor = 'ff66ff'
for x in range(1, org_ws.max_row +1):
for y in range(1, org_ws.max_column+1):
if isinstance(org_ws.cell(x,y).value, int):
ws.cell(x, y).value = int(org_ws.cell(x, y).value) / 1000 + 24
elif isinstance(org_ws.cell(x,y).value, str) and org_ws.cell(x,y).value[0] == '=':
ws.cell(x, y).value = org_ws.cell(x, y).value + '+24'
else:
ws.cell(x,y).value = org_ws.cell(x,y).value
wb.save('test1.xlsx')
반응형
'IT' 카테고리의 다른 글
PySide6 Customized Window (0) | 2022.05.21 |
---|---|
Python socket error (소켓 통신 에러) (0) | 2022.05.20 |
[Python] Database의 내용을 terminal에 table로 예쁘게 출력하기 (0) | 2022.03.30 |
[Python] Sqlite3 간단한 예제 (0) | 2022.03.29 |
[Python] Dictionary Mapping, 함수 포인터? (0) | 2022.03.29 |