Excel_자동화 (1)

아따맘마·2022년 9월 10일
0

excel_자동화

목록 보기
1/1

개요

라이브러리 tkinteropenpyxl을 사용해서 엑셀을 불러오고 자동화하여 데이터를 정리해보기

220910

모듈 파일 file_dialog.py 파일을 생성하여 main.py에서 import하여 사용

main.py

file_dialog.py에서 tkinter을 통해 엑셀 파일 디렉토리를 불러온 후 해당 디렉토리를 load_workbook을 통해 파이썬으로 불러온다.

import file_dialog
from openpyxl import Workbook
from openpyxl import load_workbook

load_xlsx = load_workbook(filename = file_dialog.file_path[0]) # file_dialog 모듈에서 받은 디렉토리를 이용하여 엑셀 파일을 불러온다.

ws = load_xlsx['First'] # 엑셀 파일이 제대로 불러왔는지 sheet를 불러와서 해당 시트에 존재하는 데이터값 하나 출력
print(ws['B2'])
load_workbook(filename = file_dialog.file_path[0])

파일 디렉토리를 불러올 때 file_dialog.file_path[0]을 통해 불러온 이유는 type(file_dialog.file_path)로 디렉토리의 타입을 보면 알겠지만 tuple형이다.
따라서 그냥 file_dialog.file_path를 통해 엑셀 파일을 불러오면 Type error이 발생한다.

file_dialog.py

filedialog.askopenfilenames 함수를 통해 파일 불러오기 창을 열고 열고자 하는 엑셀파일의 디렉토리를 가져오자

from tkinter import *
from tkinter import filedialog

excel_ext = r"*.xlsx *.xls *.csv"

file_path = filedialog.askopenfilenames(title = "파일을 선택하세요", \
    filetypes=(("Excel File", excel_ext), ("all types", "*.*")), \
        initialdir="/Users/hwanseob.lee")
excel_ext = r"*.xlsx *.xls *.csv"

여기서 r""은 raw string으로 경로를 지정할 때 유용하고, 유니코드 에러시 해결 가능하다.

결과

python main.py을 통해 메인 파일을 실행하면

해당 엑셀파일의 First sheet의 B2가 출력된다.

profile
늦게 출발했지만 꾸준히 달려서 도착지점에 무사히 도달하자

0개의 댓글