인프런 커뮤니티 질문&답변

sannim12님의 프로필 이미지
sannim12

작성한 질문수

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

GetText로 문자열 가져오기

동일한 데이터 프레임 구조에서 엑셀 자료를 한글로 반복적으로 변환하기

해결된 질문

작성

·

92

·

수정됨

1

중급 이상의 강의를 선택해서 공부하는 것이 너무 어려워요. 초보적 내용도 완전히 이해를 하지 못해서 그런가봅니다.

 

예를 들어서 5*5의 엑셀 자료를 5*5의 한글 표에 입력해야 하는 상황입니다. 하루가 지난 후에 한글 표의 셀 내용을 모두 지우고 동일한 포맷에 새로운 자료를 다시 입력하구요.

 

어떤 구조로 파이썬 코드를 작성하면 좋을지 힌트 좀 주세요.^^

 

답변 2

1

일코님의 프로필 이미지
일코
지식공유자

sannim12님 안녕하세요?^^

아마 강의 초반에 "누름틀"과 "셀필드"에 대한 이야기가 조만간 나올 겁니다.

말씀하신 경우처럼 동일한 포맷에 값만 바뀌는 경우에는

"필드"를 사용하는 게 가장 적절한 듯 싶습니다.

특히 표라면 "셀필드"를 미리 넣어두면 작업이 엄청나게 간편해집니다.

 

1. 셀필드를 넣는 방법은 아래와 같습니다.

녹화_2024_10_18_21_33_12_259.gif

"셀" 탭의 "필드이름"란에 임의의 값을 넣고 저장하시면 됩니다.
저는 "data"라는 필드이름을, 값이 삽입될 모든 셀에 적용하였습니다.

 

2. pyhwpx 모듈을 설치해야 합니다.

pip install pywin32로 win32com 패키지 설치하셨던 것과 동일하게

pyhwpx 모듈도 pip install pyhwpx 명령어로 설치하실 수 있습니다.

 

3. 설치하셨으면 아래 코드를 실행해봅니다.

녹화_2024_10_18_21_38_14_644.gif

(매번 엑셀값 변경 후 Ctrl-S를 눌러 저장하고 있습니다.)

from pyhwpx import Hwp
import pandas as pd

hwp = Hwp()  # 아래아한글 실행 (또는 현재 열려있는 문서에 연결)
df = pd.read_excel("샘플문서.xlsx")  # 데이터프레임 만들기

hwp.PutFieldText("data",  # "data"는 문서의 셀필드 이름
    df.values.flatten().tolist())  # 데이터프레임의 값만 셀필드 안에 넣기

 

간편하죠?

이렇게 한/글 문서에 필드를 적용해 두면

hwp.put_field_text() 메서드 한 줄을 통해서

엑셀이나 다른 문서의 값을 손쉽게 삽입할 수 있습니다.

 

TMI)

win32com의 hwp.PutFieldText
pyhwpx의 hwp.put_field_text는 작동방식이 다르므로 유의 바랍니다.
put_field_text는 대량의 데이터를 한 번에 삽입할 수 있게
작동방식을 조금 변경해 두었습니다.

  

혹시 동일한 문서로 실습해보시려면

여기에서 다운로드받으셔서 압축을 풀어주세요.

동영상에서 사용한 엑셀(샘플문서.xlsx) 및

한/글 문서(샘플문서.hwp)가 같이 들어있습니다.

 

추가로 궁금하신 부분은 댓글 남겨주세요^^

0

안녕하세요, 인프런 AI 인턴입니다.

sannim12님께서 질문하신 내용은 엑셀의 데이터를 반복적으로 한글에 입력하는 자동화 작업에 대한 것인데요. 비슷한 질문에 대한 해결책을 제공한 자료가 있습니다. 해당 내용을 참고하여 sannim12님께서 코드를 작성할 때 도움이 될 수 있는 팁과 함께 관련 링크를 제공해드리겠습니다.

기본 개념

엑셀의 데이터를 한글로 변환하는 과정은 주로 파이썬과 아래아한글을 제어하는 pywin32 라이브러리나 hwp 라이브러리를 이용하게 됩니다. 이 라이브러리들은 파이썬 스크립트를 통해 한글 문서 내에서 엑셀 데이터를 표 형식으로 쉽게 처리할 수 있게 해줍니다.

구현 방법

  1. 엑셀 데이터 불러오기: pandas 라이브러리를 활용하여 엑셀 데이터를 불러옵니다.
  2. 한글 문서 열기: pywin32 또는 hwp 라이브러리를 사용하여 한글 문서를 열고 데이터 입력을 준비합니다.
  3. 데이터 입력 및 초기화:
    • 엑셀 데이터 프레임의 각 행과 열을 순회하며 한글 문서의 표에 데이터를 입력합니다.
    • 입력이 완료된 후에는 기존 데이터를 제거하고 새 데이터를 입력하기 위해 표를 초기화하는 과정을 포함합니다.

관련된 질문과 구현 예제는 다음 링크를 참고해 주세요:
- 한글문서 엑셀로 취합하기
- 파이썬으로 세부 작업하기

위 링크들을 통해 엑셀과 한글 간 데이터 전환 및 반복적인 데이터 입력 작업에 대한 예제를 볼 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

sannim12님의 프로필 이미지
sannim12

작성한 질문수

질문하기