정구리의 우주정복

[Python] openpyxl 사용법 (계속 추가할 예정) 본문

PYTHON/STUDY

[Python] openpyxl 사용법 (계속 추가할 예정)

Jungry_ 2020. 6. 20. 20:33
반응형

최종 업데이트 : 20.06.20

 

엑셀 관련 프로그래밍을 할 일이 있어서 이것저것 기록을 해 놓으려고 한다

설치는 pip3 install openpyxl 

 

https://openpyxl.readthedocs.io/en/stable/

 

openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files — openpyxl 3.0.3 documentation

Install openpyxl using pip. It is advisable to do this in a Python virtualenv without system packages: Warning To be able to include images (jpeg, png, bmp,…) into an openpyxl file, you will also need the “pillow” library that can be installed with:

openpyxl.readthedocs.io

사용 설명서는 여기에 

 

1. 파일 열기 

excelFile = openpyxl.load_workbook('파일명')  

excelFile 은 내가 임의로 지정한 파일명임

 

2. sheet 의 list 얻기 

(구) excelFile.get_sheet_names()

(신) excslFile.sheetnames

 

(구) 를 써도 에러가 나지는 않지만 새로운걸 써주는게 좋을듯

 

3. 특정 sheet 불러오기 

(구) excelFile.get_sheet_by_name('시트명')

(신) excelFile['시트명']

 

이거는 구버전을 쓰면

DeprecationWarning: Call to deprecated function get_sheet_names (Use wb.sheetnames)

Warning 이 나오기 때문에 사용하지 무조건 신버전을 사용하도록 하자

 

import openpyxl
from tkinter import filedialog
file = filedialog.askopenfilename(initialdir='./',title = 'choose your file',filetypes=(("Excel Files","*.xlsx"),('all files','*.*'))) #file open
excelFile = openpyxl.load_workbook(file) #file name
sheet_lst = excelFile.sheetnames #call list of sheet
print(sheet_lst)
num = int(input("\n insert sheet's num : "))-1 #select sheet num
sheet = excelFile[sheet_lst[num]]
for row in sheet.rows: #print all rows
    for cell in row:
        print(cell.value,end='  ')
    print('\n') 

tkinter 를 이용해서 파일 열어가지고 다뤄줄거임

반응형
Comments