inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

문서 내 특정 표의 내용 읽기

해결된 질문

1302

­김시운

작성한 질문수 1

1

한 문서 안에 표가 여러개 있을 때

하나씩 접근해서 표의 행과 열, 그리고 셀로 접근해서

셀의 데이터를 읽어 오고 싶습니다.

 

"한/글 표에 데이터프레임 채우기" 강의에서 특정 표로 접근하는 부분은

확인하고 잘 되고 있습니다.

여기서 각 셀을 순환하면서 접근하여

각 셀 내에 있는 텍스트를 읽어 오고 싶습니다.

 

답변 부탁 드립니다. 감사합니다.

python 한컴오피스

답변 2

1

일코

시운님 안녕하세요?^^ (회신이 늦어 죄송합니다..)

각각의 표에 순서대로 접근하는 방법까지 알아내셨다면,

이제 필요한 부분은

  1. 셀 주소 확인

  2. 셀 내용 확인

  3. 다음 셀로 이동

정도로 세 가지 코드만 있으면 될 것 같네요. (그렇죠?^^;)

 

우선 1. 셀 주소를 확인하는 방법은

def 한글_셀주소():
    """
    표 안에 있는 경우 현재 위치한 셀의 주소를 반환한다.
    """
    if hwp.SelectionMode != 3:
        hwp.HAction.Run("TableCellBlock")
    return hwp.KeyIndicator()[8].split(":")[0][1:-1]

 

 

그리고 2. 셀 내용을 확인하는 방법은

def 선택셀_텍스트():
    """
    해당 셀이 선택된 상태에서
    셀의 내용(문자열)을 리턴하는 함수
    """
    hwp.InitScan(Range=0xff)
    total_text = ""
    state = 2
    while state not in [0, 1]:
        state, text = hwp.GetText()
        total_text += text
    hwp.ReleaseScan()
    return total_text

 

마지막으로 3. 다음(우측) 셀로 이동하는 방법은

hwp.HAction.Run("TableRightCell")

# 위 메서드 실행시, 우측 이동에 성공하면 매번 True를 반환하며
# 표의 마지막 셀에 도착한 경우 False를 반환합니다.
# 모든 셀 순회시 이 값을 while문의 조건으로 사용하시면 됩니다.
#
# 예
#
# while True:
#     # 특정작업
#     if not hwp.HAction.Run("TableRightCell"):
#         break

입니다.

위 함수를 조합하셔서

원하시는 작업 자동화에 성공하시기 바랍니다^^

감사합니다. 행복한 하루 되세요!!~

-2

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

문서 내 특정 표의 내용을 읽기 위해서는 먼저 해당 문서를 읽어들이고, 표를 찾아 접근해야 합니다. 이후 각 셀 내에 있는 텍스트를 읽어들이는 방법은 다음과 같이 구현할 수 있습니다.

  1. 표 찾기: 문서 내의 모든 표를 찾아서 원하는 표를 탐색합니다. 표는 보통

    태그로 구성되며, BeautifulSoup 라이브러리를 활용해서 표를 찾을 수 있습니다.

  2. 행과 열 접근: 찾아낸 표에서 행과 열을 접근하는 방법은 보통 표에서

  3. 태그로 구성된 각 행을 순회하면서 각 셀에 접근하는 방식입니다. 이를 위해 for문을 활용해서 각 행과 해당 행의 각 셀에 접근합니다.

  4. 셀 내 텍스트 읽기: 각 셀에 접근해서 그 내부의 텍스트를 읽기 위해서는 get_text() 메서드를 활용할 수 있습니다.

  5. 위 방법을 참고해서 특정 표 내부의 셀 데이터를 읽어들이는 코드를 구현하시면 될 것 같습니다. 저희 강의 내용에서도 한/글 표의 예시에 대한 코드를 제시해드렸으니 참고해보세요.

    위의 내용이 도움이 되었길 바랍니다. 감사합니다.

    섹션7과 같은 수학 수식을 백지에서 시작할 때 어떻게 만들 수 있을까요?

    0

    78

    1

    hwp 병렬 작업시 클립보드 충돌문제

    0

    62

    1

    본문을 각주로 내리는 법

    1

    93

    1

    한글 자동화 삽도 삽입!!

    1

    389

    2

    한글 표 내부 위치 찾는 코드좀 알려주세요 ㅠㅠ

    1

    243

    2

    빈 문서를 새로 열때는 팝업이 안나오는데 기존 문서를 열면 팝업이 나옵니다

    1

    120

    2

    사무실 컴퓨터ㅠ

    0

    99

    2

    글자입력 여러번 실행기

    0

    71

    1

    현재 커서 문단에 아무런 내용이 없는지 확인하기

    1

    103

    1

    특정 스타일을 찾아 이동하는 방법

    1

    167

    2

    한/글 파일 open 시 '상위 버전에서...' 메세지 안 뜨게 하는 방법?

    1

    1142

    1

    win32com 으로 hwp 문자열 검색하기 문의

    1

    226

    2

    [응용] 엑셀문서 값을 필드에 입력하기 질

    1

    124

    1

    표 병합하기 관련

    0

    143

    0

    메타태그 삽입 자동화

    0

    191

    1

    스크립트 매크로 초기화 하고 싶습니다.

    1

    274

    2

    한글 창이 여러 개 존재할 때 pyhwpx 모듈로 접근하는 방법을 알고 싶습니다.

    1

    271

    1

    표안의 특정 필드에 있는 이미지를 복사하여 한글 외부에 저장하기

    1

    283

    2

    스타일 싹 다 지우고 바탕글로 통일하는 방법 문의드립니다.

    1

    286

    0

    하위의 여러 폴더 중 특정폴더의 사진만 추출하기

    1

    350

    2

    한글 수식을 자동으로 넣는 코드를 만들었는데, 수식 사이의 간격이 계속 벌어집니다.

    1

    684

    1

    보유 특허 검색 페이지에서 검색이 되지 않습니다.

    1

    142

    1

    hwp 페이지별 분할 저장하는 코드 관련 문의

    0

    454

    0

    한글 문서에 사용된 폰트명 추출

    1

    654

    1

    (주)인프랩 | 대표자: 이형주 | 사업자번호: 499-81-00612 통신판매업: 2018-성남분당B-0062 | 개인정보보호책임자: 이동욱 이메일: info@inflearn.com | 전화번호: 070-4948-1181 주소: 경기도 성남시 분당구 판교로289번길 20 3동 5층

    ©INFLAB. ALL RIGHTS RESERVED