docx_practice.py
form.docx : docx문서 양식파일(내용 없음)
form_save.docx : docx문서 양식파일(양식 내용 보존)

python-docx 공식 사이트

설치

구글에서 [ python-docx ]를 검색해서 공식홈페이지 들어간 뒤 설치해보자.

image

  • csv모듈과는 다르게, 아나콘다 설치를 하더라도 자동으로 설치되지 않기 때문에 수동으로 설치를 해줘야한다.
  • 방법은 2가지가 있다.
    (1) 파이썬 프롬프트(터미널)에서 pip(핍)을 이용하는 방법이 있다. (생략)
    (2) 파이참의 Setting > Project : mandoo_management > Project interpreter 를 이용하는 방법이 있다.(실습)
    image
    image

  • Project Interpreter에 가면, 해당 프로젝트의 환경설정이 모두 나타나있다.
    우측의 초록색 플러스 버튼을 누른 뒤, [ python-docx ]를 검색한 후, 왼쪽하단의 Install Package를 눌러 설치하자.
    - 닫아보면 Interpreter에 설치된 것을 확인할 수 있다.
    *다른 프로젝트에서는 설치되지 않는 것을 확인해보았음.
    image
    image
    image

  • mandoo_management프로젝트에서 새로운 파이선 파일 docx_practice.py를 만들고 공식문서의 import부분을 복사해오자.
    image
    image


사용법

  • 클래스처럼 Document()를 document변수에 넣는다.
  • document.add_heading( '제목명' , 0)을 통해서 제목을 넣을 수있다.
  • document.save('파일명')을 통해 docx파일로 저장한다.
    image


  • 제목 양식인 2번째 인자를 바꿔가며 작성해보자.
    imageimage

  • 본문은 .add_paragraph('')함수로 추가할 수 있다.
    image
    image



docx의 글자체 등 스타일은 미리 양식을 만들어 놓아야한다.

  • add_heading( '',0) ->  MS WORD의 [제목]
  • add_heading( '',1) ->  MS WORD의 [제목1]
  • add_heading( '',2) ->  MS WORD의 [제목2]
  • add_heading( '',3) ->  MS WORD의 [제목3]

  • add_paragraph('') -> MS WORD의 [표준]

이므로 미리 양식을 지정해놓고 , 프로젝트 폴더내 위치시켜서, Document('파일명')선언시 빈칸이 아닌, '파일명'을 넣어준다.

양식을 만드는 방법은

  1. form.docx를 프로젝트내에서 생성하고
  2. 해당 양식에서, 원하는 스타일로 바꾼 뒤
  3. 블록으로 선택해놓고
  4. 우측상단의 스타일에서 해당 [ 양식 >우클릭> 선택영역과 일치하도록 제목 업데이트 ]
  5. 필요한 모든 것 위와 같은 방법으로 (2~4) 다 바꾼 뒤, 저장
  6. document = Document( 'form.docx') 폼 양식 지정
  7. 파일 확인후, 맨 처음의 양식 지우기
    image
    image
    image
    image
    image


새로운 스타일을 만든 다음, 파이썬-docx에서 지정해줄 수 있다.

제목이 아닌 add_paragraph로 들어간다.

  • 마찬가지로, 동그라미 스타일로 작성후 ->
  • 블록지정 한 다음,
  • 스타일메뉴 중 새로운 스타일을 클릭하여, 이름을 지정해준다.
  • 파이썬에서는 document.add_paragraph( ' 내용 ', style = '스타일명' ) 으로 스타일인자를 추가시켜주면 된다.
    image
    image
    image
    image



테이블도 만들어보자. 공식문서에서 일단 가져오자.

  • 공식문서의 테이블 부분을 복사해서 가져온다.
    - 이 때, for문의 in리스트인 recordset이 빨간줄이 뜬다. 위에서  문서상에도 선언을 안해놨다..
    image
    image

  • 코드를 확인하니,
    - table = document.add_table( row =1 , cols = 3)로 table을 하나 생성하여 변수에 담는다. row는 1줄 칼럼은 3개
    - hdr_cells = table.rows[0].cells 을 통하여 칼럼명row0번째row모든 cell들에 대한 변수를 생성한다.
    - hdr_cells[0], [1], [2] .text 를 통해서, 해당row의 각 cell들에 접근하여 문자열로 데이터를 집어넣는다.
  • 리스트는 없으므로, for문을 지우고, 안에 내용은 띄워쓰기를 삭제시켜서 해석해본다.
    - row_cells =  table.add_row().cells 를 통해    새로운 row를 하나 추가하고, 동시에 그 row의 모든 셀을 받도록 한다.
    - 해당row의 0번째, 1, 2번째 셀들에 접근하여 문자열 데이터를 집어넣는다.
    image
    image


표도 스타일을 미리 정해줄 수 있다.

  • 아무표나 작성한 뒤
  • 더블클릭하고 -> 표 스타일 메뉴 -> 표스타일 새로 만들기
  • 스타일 이름 지정해주고, 양식 고르기
  • 파이썬에서 table 변수 생성한 다음 줄에,
    table.style
    = '스타일명' 을 통해 표 스타일 지정해주기

    image
    image
    image

    image



form.docx에서는 이미 양식이 저장되어 있기 때문에,

docx파일 생성후, 양식 지우기를 하기 싫다면,

form.docx내용을 다 지워놓으면 된다.

  • form.docx의 내용을 다 지우자. 양식은 저장되어있다.
  • 그리고 나서 다시한번 demo.docx를 생성해보자.
    - 앞에는 양식이 그대로 나와서 지워줬던 것을 안지워도 된다.

imageimage
image

+ Recent posts