pyinstaller 이용하여 다른 경로에 있는 엑셀 파일을 불러와서 결과물을 도출하는 방법이 있을까요?

조회수 360회
# read 파일
filename = r"C:\Users\파일 1.xlsx"
book = openpyxl.load_workbook(filename)

# sheet 추출
sheet = book.worksheets[0]

# read 파일 리스트 변환
data = []
for row in sheet.rows:
    data.append([
        row[0].value,
        ' ',
        row[3].value,
        row[4].value,
        row[5].value,
        row[6].value, 
        row[7].value,
        row[8].value,
 ])

data = data[1:]

# load 파일 추출
wb = load_workbook(r"C:\Users\파일 2.xlsx")
ws = wb.active

# excel 입력 함수
for n, datalist in enumerate(data, 3): 
    for n2, i in enumerate(datalist, 1): 
        cell = ws.cell(row = n, column = n2).value = i


# 내용 삽입
wb.save("결과파일.xlsx")
wb.close()

위처럼 엑셀파일 1을 불러와 엑셀파일 2에 내용을 입력하는 코드를 작성하였습니다.

이를 pyinstaller를 이용하여 실행파일을 만들려고 합니다.

이에 실행파일을 실행할 때 위 명시된 "파일1"과 "파일2"에 다른 파일을 입력하여 결과물을 도출하고 싶은데 어떤식으로 작성하면 될까요?

2 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    간단한 윈도우 프로그램을 만들어 보세요.

    pysimplegui 추천합니다.

    gooey 도 알아보세요.

  • 원하시는 내용인지는 모르겠지만 간단히 하려면 같은 디렉토리에 수정할 수 있는 json파일을 만들고 json파일을 수정하여 다른 결과물을 도출할 수 있을 겁니다. 아래서는 같은 디렉토리 안에 data.json 파일을 만들고 그 안에 파일경로와 이름을 명시하였는데 그 내용을 수정하면 됩니다. 만약 윈도우의 파일찾기 기능을 이용하여 파일을 선택하려면 윗 분 말씀처럼 윈도우 GUI 라이브러리를 사용해야 됩니다.

    data.json 파일

    {"files":
        {
            "readfile":r"C:\Users\파일 1.xlsx",
            "writefile":r"C:\Users\파일 2.xlsx"
        }
    }
    
    import json
    
    jsonfile = "data.json"
    with open(jsonfile) as f:
        data = json.loads(f.read())
    
    # read 파일
    filename = data["files"]["readfile"]
    book = openpyxl.load_workbook(filename)
    ...
    ...
    ...
    # load 파일 추출
    wb = load_workbook(data["files"]["writefile"])
    ws = wb.active
    ...
    ...
    ...
    
    
    
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)