1. 엑셀 파일 데이터 읽어 가공하고 원하는 값만 log파일로 데이터 넣기 실습
import openpyxl
raw_file_name = 'rawdata.xlsx'
# raw_file_name 파일을 data만 load
wb = openpyxl.load_workbook(raw_file_name, data_only=True)
# 'Sheet'라는 시트 명을 load
load_ws = wb['Sheet1']
# 읽어올 범위 설정
cell_range = load_ws['D1':'BL317']
for row in cell_range:
for cell in row:
# mode 값이 pass면 log를 남기지 않음, write면 log 남김
mode = 'write'
try:
cell.value = str(cell.value)
# 불필요 데이터 가공
if '선반' not in cell.value and cell.value != 'None' and '.' in cell.value:
if '(' in cell.value:
cell.value = cell.value.split('(')[0].strip()
if '인스퍼' in cell.value:
cell.value = cell.value.split('인스퍼')[1].strip()
else:
pass
else:
pass
else:
mode = 'pass'
except AttributeError:
mode = 'pass'
if mode != 'pass':
#print(cell.value)
with open('ip_list_log.txt', 'a') as f:
f.write(cell.value + '\n')
else:
pass
wb.close()
2. 이외 openpyxl 사용법
- 엑셀 파일 생성
# workbook 객체 생성, sheet1이 생성됨
wb = openpyxl.Workbook()
# 시트 생성
sheet2 = wb.create_sheet('sheet2') # 마지막 시트 뒤에 추가
sheet3 = wb.create_sheet('sheet3', 1) # sheet1 앞에 삽입하여 추가
# 시트 이름 변경
sheet2.title = '바뀐시트명입니다'
# workbook 저장
wb.close() # 파일 닫기
wv.save('저장할 파일명.xlsx') # 워크북에 저장
# 실습 예시
import openpyxl
wb = openpyxl.Workbook()
sheet2 = wb.create_sheet('sheet2')
sheet3 = wb.create_sheet('sheet3', 1)
sheet2.title = '바뀐시트명'
wb.save('./new_excel_file.xlsx')
- 엑셀 파일의 셀에 데이터 쓰기 실습
import openpyxl
wb = openpyxl.Workbook()
# 활성화된 시트 선택
sheet = wb.active
# index를 이용해 cell에 데이터 쓰기
sheet['A1'] = 'hello, I am A1.' # A1에 쓰기
# cell()함수를 이용해 데이터 쓰기
sheet.cell(row=1, column=1, value='hello, I am (1,1)') # A1에 쓰기
wb.save('./new_excel_file.xlsx') # 저장하기
'Development > Python' 카테고리의 다른 글
[Python] 문자열 안에 변수 값 넣는 3가지 방법 (0) | 2019.12.08 |
---|---|
[Python][SHA-256] 해시값 생성 방법 (0) | 2019.12.08 |
[Solved][Python] io.UnsupportedOperation: not writable (0) | 2019.12.02 |
[Python] 업무자동화 실습 : raw data 필요시 iso -> utf8 인코딩 & 데이터 가공하여 DB에 넣는 프로그램 개발 (0) | 2019.12.01 |
[Python][Package] __init__.py & __all__ & import * & 상대/절대경로참조 에 대하여 (0) | 2019.11.30 |