pyinstaller 이용하여 다른 경로에 있는 엑셀 파일을 불러와서 결과물을 도출하는 방법이 있을까요?
조회수 361회
# 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 답변
-
-
원하시는 내용인지는 모르겠지만 간단히 하려면 같은 디렉토리에 수정할 수 있는 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 ... ... ...
댓글 입력