docx 파일 병합 코드 작성

조회수 55회
from docx import Document
import docx2txt
import os
document = Document()

for (path, dir, files) in os.walk(r'C:\Users\Cha Daniel\Desktop\e\work\godsoo2'):
    file_list = os.listdir(path)
    file_list_docx = [file for file in file_list if file.endswith(".docx")]
    print(file_list_docx)
    ***for abc in file_list_docx:
        my_txt = docx2txt.process("{0}".format(abc))
        document.add_paragraph(my_txt).bold = True***


document.save(r'C:\Users\Cha Daniel\Desktop\e\work\godsoo2\2020.docx')

print("병합 완료!")

제가 docx 파일의 내용들을 하나의 docx 파일에 병합하려고 하는데 문제가 있습니다 ㅠㅠ 제가 명령을 수행하는 폴더(godsoo2)에 더해 하위폴더가 두개 있는데 그 폴더속에 있는 docx 파일들도 다 불러와서 병합을 시도하려고 합니다. 하위폴더에 있는 docx 파일들을 포함하여 리스트를 만드는것까지는 되었는데 병합하는 과정에서 하위폴더에 있는 docx파일들을 합치려고하니 No such file or directory 에러가 나네요 ㅠㅠ 이렇게 질문하는 게 처음인데 파일을 찾을 수 있게 고견 부탁드립니다.. ㅠㅠ

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    파일명만 불러와서 사용하다보니 상대경로로 찾는 중 하위폴더에 대한 중간경로가 없어서 발생한 문제 아닐까요?

    path를 추가하여 절대경로로 지정하여 시도해보시기 바랍니다.

    from

    file_list_docx = [file for file in file_list if file.endswith(".docx")]

    to

    file_list_docx = [(path+file) for file in file_list if file.endswith(".docx")]

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

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.