푸터 콘텐츠로 바로가기
IRONXL FOR PYTHON 사용하기

Python에서 Excel 데이터를 사용하여 Word 문서 생성

Python을 사용하여 Excel 스프레드시트에서 Word 템플릿을 생성하는 것은 다양한 전문적 및 개인적 맥락에서 효율성, 정확성 및 프리젠테이션을 크게 향상시킬 수 있는 많은 이점을 제공합니다. 자동화, 사용자 정의 및 데이터 무결성을 활용하여 전문가들은 Word 문서가 필수 정보를 명확하고 정확하게 전달하는 효과적인 커뮤니케이션 도구가 되도록 보장할 수 있습니다. Microsoft ExcelMicrosoft Word로 변환할 수 있는 라이브러리 중 하나는 IronXL Python 패키지와 Iron Softwarepython-docx입니다.

이 기사는 Excel 파일에서 Word 문서를 생성하기 위해 필요한 단계를 검토할 것입니다.

Python에서 Excel 데이터를 사용하여 Word 문서 생성하는 방법

  1. excelToWord.py라는 이름의 Python 파일을 생성합니다.
  2. IronXL 및 python-docx 패키지를 설치하십시오.
  3. 프로젝트 폴더에 Excel 파일을 생성하거나 추가하십시오.
  4. IronXL을 사용하여 Excel 문서를 읽으십시오.
  5. python-docx를 사용하여 Word 문서를 만들고 Excel 데이터를 삽입하십시오.

IronXL이란 무엇인가요?

IronXL for Python은 Iron Software에서 개발한 강력한 라이브러리로, 개발자들이 Python 프로젝트에서 Excel 파일(XLS, XLSX, CSV)을 생성, 읽기, 편집할 수 있게 합니다. IronXL 사용의 주요 기능과 이점은 다음과 같습니다:

주요 특징

  1. Excel 의존성 없음: IronXL은 서버에 Microsoft Excel을 설치할 필요가 없으며, Excel이 없는 서버 환경에 이상적입니다.
  2. 직관적인 API: IronXL은 Excel 파일을 다루기 위한 자연스럽고 직관적인 API를 제공하여 Python 프로젝트에 쉽게 통합할 수 있습니다.
  3. 다중 형식 지원: IronXL은 XLS, XLSX, CSV, TSV를 포함한 다양한 Excel 파일 형식을 지원합니다.
  4. 셀 스타일링: 다른 폰트, 크기, 배경, 테두리 및 숫자 형식으로 셀을 스타일링할 수 있습니다.
  5. 수식 처리: IronXL은 Excel 수식과 작동하며 워크시트가 편집될 때마다 이를 재계산할 수 있습니다.
  6. 플랫폼 간 호환성: IronXL은 Windows, macOS, Linux, Docker, Azure, AWS에서 작동합니다.

python-docx란 무엇인가

python-docx는 Microsoft Word 문서를 생성, 수정 및 작업하는 Python 라이브러리로, .docx 파일과 같은 문서를 처리합니다. 간단한 API를 제공하여 Word 문서와 상호 작용할 수 있게 하며, 텍스트 추가, 서식 지정, 표와 이미지 삽입과 같은 작업을 수행할 수 있습니다.

주요 특징

1. 문서 생성

처음부터 Word 문서를 생성하고 단락, 표, 제목 등을 포함한 콘텐츠를 추가할 수 있습니다. 이 패키지는 개별 문서를 편집하는 데에도 사용될 수 있습니다.

2. 텍스트 조작

텍스트 단락을 추가하고 수정하십시오. 텍스트를 서식화하십시오(예: 굵게, 기울임, 밑줄 등). "런"(단락 내에서 서로 다른 스타일을 가진 텍스트 부분)을 사용하십시오. 다양한 레벨의 제목을 추가하고 스타일링하십시오.

3. 표 추가

지정된 행과 열 수로 표를 만드십시오. 표의 개별 셀에 접근하고 수정하십시오.

4. 목록

미리 정의된 스타일로 목록을 만들거나 번호 매기기를 합니다.

5. 스타일 작업

"Heading 1", "일반" 등의 미리 정의된 스타일을 적용하십시오. 또한 단락이나 텍스트에 대한 사용자 정의 스타일을 정의하고 적용할 수 있습니다.

6. 이미지 삽입

문서의 특정 위치에 이미지를 삽입하십시오. 이미지의 너비와 높이를 지정하여 이미지를 조정할 수 있습니다.

필수 조건

코드를 살펴보기 전에 다음 필요 사항을 갖추고 있는지 확인하십시오:

  1. Python 설치: 기기에 Python이 설치되어 있는지 확인하십시오. 공식 Python 웹사이트에서 다운로드할 수 있습니다.
  2. IronXL 설치: IronXL 패키지를 설치해야 합니다. pip을 사용하여 이를 수행할 수 있습니다.
  3. python-docx 설치: python-docx 패키지를 설치해야 합니다. pip을 사용하여 이를 수행할 수 있습니다.
  4. Excel 파일: 데이터가 있는 샘플 Excel 파일을 생성하십시오.

1단계: excelToWord.py이라는 이름의 Python 파일 생성

Visual Studio Code와 같은 선호하는 IDE를 열고 excelToWord.py라는 파일을 생성합니다.

어떻게 Python에서 Excel 데이터를 사용하여 워드 문서를 생성하는지: 그림 1 - Excel 문서 생성

2단계: IronXL 및 python-docx 패키지 추가

IronXL 및 python-docx 패키지를 설치하기 위해 Pip을 사용하십시오.

pip install IronXL python-docx
pip install IronXL python-docx
SHELL

3단계: 프로젝트 폴더에 Excel 파일 생성 또는 추가

샘플 Excel 파일을 코드 폴더에 복사합니다. 파일에는 아래 데이터가 포함되어 있습니다.

어떻게 Python에서 Excel 데이터를 사용하여 워드 문서를 생성하는지: 그림 2 - 샘플 Excel

4단계: IronXL을 사용하여 Excel 문서 읽기

IronXL을 사용하여 Excel 문서를 로드하고 아래 코드를 사용하여 모든 셀을 읽습니다.

import ironxl
# Import Document class from python-docx to work with Word documents
from docx import Document

# Set the License Key for IronXL (replace 'your license' with your actual license key)
ironxl.License.LicenseKey = "your license"

# Load the Excel workbook and select the first worksheet
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]

# Read data from the Excel sheet
data = []

# Iterate through rows and columns in the Excel sheet
for row in range(0, len(sheet.Rows)):
    row_data = []
    for col in range(0, len(sheet.Columns)):
        cell_value = sheet.GetCellAt(row, col)
        print(cell_value)  # Print each cell value
        row_data.append(cell_value)
    data.append(row_data)
import ironxl
# Import Document class from python-docx to work with Word documents
from docx import Document

# Set the License Key for IronXL (replace 'your license' with your actual license key)
ironxl.License.LicenseKey = "your license"

# Load the Excel workbook and select the first worksheet
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]

# Read data from the Excel sheet
data = []

# Iterate through rows and columns in the Excel sheet
for row in range(0, len(sheet.Rows)):
    row_data = []
    for col in range(0, len(sheet.Columns)):
        cell_value = sheet.GetCellAt(row, col)
        print(cell_value)  # Print each cell value
        row_data.append(cell_value)
    data.append(row_data)
PYTHON

5단계: python-docx를 사용하여 Word 문서 및 Excel 데이터 삽입

Word 문서 생성 과정은 Word 문서를 생성하고 Excel 파일에서 읽은 데이터를 삽입하는 것을 포함합니다.

# Create a new Word document
doc = Document()

# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)

# Create a table with headers (first row of Excel data)
table = doc.add_table(rows=1, cols=len(data[0]))
hdr_cells = table.rows[0].cells
# Populate header cells with data
for i, header in enumerate(data[0]):
    hdr_cells[i].text = str(header)

# Populate table with data from Excel
for row in data[1:]:
    row_cells = table.add_row().cells
    for i, cell in enumerate(row):
        row_cells[i].text = str(cell)

# Save the generated Word document
doc.save("sample.docx")
# Create a new Word document
doc = Document()

# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)

# Create a table with headers (first row of Excel data)
table = doc.add_table(rows=1, cols=len(data[0]))
hdr_cells = table.rows[0].cells
# Populate header cells with data
for i, header in enumerate(data[0]):
    hdr_cells[i].text = str(header)

# Populate table with data from Excel
for row in data[1:]:
    row_cells = table.add_row().cells
    for i, cell in enumerate(row):
        row_cells[i].text = str(cell)

# Save the generated Word document
doc.save("sample.docx")
PYTHON

Word 문서 생성에 대한 전체 코드

# Import required libraries
import ironxl
from docx import Document

# Set the License Key for IronXL
ironxl.License.LicenseKey = "your license"

# Load the Excel workbook
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]

# Read data from the Excel sheet
data = []
# Iterate through rows and columns in the Excel sheet
for row in range(0, len(sheet.Rows)):
    row_data = []
    for col in range(0, len(sheet.Columns)):
        cell_value = sheet.GetCellAt(row, col)
        print(cell_value)  # Print each cell value
        row_data.append(cell_value)
    data.append(row_data)

# Document generation process
# Create a new Word document
doc = Document()
# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)

# Create a table in the Word document
table = doc.add_table(rows=1, cols=len(data[0]))
hdr_cells = table.rows[0].cells
for i, header in enumerate(data[0]):
    hdr_cells[i].text = str(header)  # Add header cells

for row in data[1:]:
    row_cells = table.add_row().cells
    for i, cell in enumerate(row):
        row_cells[i].text = str(cell)

# Save the Word document
doc.save("sample.docx")
# Import required libraries
import ironxl
from docx import Document

# Set the License Key for IronXL
ironxl.License.LicenseKey = "your license"

# Load the Excel workbook
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]

# Read data from the Excel sheet
data = []
# Iterate through rows and columns in the Excel sheet
for row in range(0, len(sheet.Rows)):
    row_data = []
    for col in range(0, len(sheet.Columns)):
        cell_value = sheet.GetCellAt(row, col)
        print(cell_value)  # Print each cell value
        row_data.append(cell_value)
    data.append(row_data)

# Document generation process
# Create a new Word document
doc = Document()
# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)

# Create a table in the Word document
table = doc.add_table(rows=1, cols=len(data[0]))
hdr_cells = table.rows[0].cells
for i, header in enumerate(data[0]):
    hdr_cells[i].text = str(header)  # Add header cells

for row in data[1:]:
    row_cells = table.add_row().cells
    for i, cell in enumerate(row):
        row_cells[i].text = str(cell)

# Save the Word document
doc.save("sample.docx")
PYTHON

코드 설명

이 Python 스크립트는 두 가지 주요 작업을 수행합니다.

1. IronXL을 사용하여 Excel 파일에서 데이터 읽기

  • 스크립트는 Python에서 Excel 파일을 처리하는 데 사용되는 IronXL 라이브러리의 라이선스를 설정하는 것으로 시작합니다.
  • 그런 다음 Excel 파일 (sample.xlsx)을 로드하고 파일에서 첫 번째 워크시트를 선택합니다.
  • 스크립트는 워크시트에서 데이터를 읽고 모든 행과 열을 반복합니다. Excel 시트의 각 행이 데이터 내의 하위 목록에 해당하는 2D 리스트 (데이터)에서 각 셀의 값을 수집합니다.
  • 셀의 값이 읽을 때 콘솔에 출력됩니다.

2. python-docx를 사용하여 Word 문서 생성

  • python-docx 라이브러리를 사용하여 새 Word 문서를 생성합니다.
  • 스크립트는 제목을 문서 상단에 추가합니다 ('Excel Data Export Using Python Docx').
  • 그런 다음 문서에 표를 작성하여 표의 첫 번째 행에 Excel 시트의 헤더가 포함되고 후속 행에는 Excel 파일에서 해당되는 데이터가 포함됩니다.
  • 마지막으로, 워드 문서는 sample.docx으로 저장됩니다.

스크립트는 Excel 파일 (sample.xlsx)에서 데이터를 읽고 이를 처리하여 새로운 워드 문서 (sample.docx)의 표에 데이터를 내보냅니다. Excel 시트의 첫 번째 행은 표 헤더로 사용되며 Excel 시트의 각 데이터 행이 Word 문서의 표에 행으로 추가됩니다.

산출

어떻게 Python에서 Excel 데이터를 사용하여 워드 문서를 생성하는지: 그림 3 - Excel에서 Word으로

Word 파일

어떻게 Python에서 Excel 데이터를 사용하여 워드 문서를 생성하는지: 그림 4 - 워드 문서 형식

IronXL 라이선스 (체험판 사용 가능)

IronXL은 코드에 첨부된 유효한 라이선스 파일에서 작동합니다. 사용자는 라이선스 페이지에서 체험판 라이선스를 쉽게 얻을 수 있습니다.

라이선스를 사용하려면 IronXL 라이브러리를 사용하기 전에 아래와 같이 코드 어딘가에 라이선스 키를 배치하세요.

ironxl.License.LicenseKey = "Your License Key"
ironxl.License.LicenseKey = "Your License Key"
PYTHON

결론

샘플 코드는 IronXL을 사용하여 Excel 파일에서 데이터를 읽은 다음 python-docx를 사용하여 그런 데이터를 Word 문서로 내보내는 효과적인 방법을 보여줍니다. 이 과정은 크게 두 단계로 구성됩니다.

  1. Excel에서 데이터 추출: 스크립트는 Excel 파일을 로드하고 첫 번째 워크시트에서 데이터를 추출합니다. 행과 열을 반복하며 셀 값을 리스트에 수집하여 쉽게 조작 또는 저장할 수 있습니다.
  2. Word 문서 생성 및 채우기: python-docx 라이브러리를 사용하여 스크립트는 새 Word 문서를 생성하고 제목을 추가하며 추출한 Excel 데이터를 Word 문서의 표 형식으로 만듭니다. 자동으로 Excel 데이터의 첫 번째 행을 헤더로, 나머지 행을 표 데이터로 배치합니다.

이 방법은 보고서 생성, 데이터 내보내기 또는 문서 자동화와 같은 작업에 Excel에서 Word로의 무리 없는 데이터 전달을 허용합니다. IronXL을 사용한 Excel 처리와 python-docx를 사용한 Word 문서 생성 병합은 Python에서 이러한 파일 형식을 처리하는 강력한 솔루션을 제공합니다.

자주 묻는 질문

Python을 사용하여 Excel 데이터를 Word 문서로 어떻게 변환할 수 있습니까?

Python에서 IronXL 라이브러리를 사용하여 Excel 파일을 읽고 처리한 다음, python-docx 라이브러리를 사용하여 Word 문서를 생성하고 채우면서 Excel 데이터를 Word 문서로 변환할 수 있습니다.

IronXL과 python-docx를 함께 사용했을 때의 이점은 무엇입니까?

IronXL과 python-docx의 조합은 Excel에서 Word 문서로의 변환에 매끄러운 통합과 자동화를 제공합니다. IronXL은 Microsoft Excel 없이도 Excel 파일을 읽고 편집하는 기능을 제공하며, python-docx는 Word 문서를 조작하기 위한 간단한 API를 제공합니다.

Microsoft Excel이 설치되지 않은 상태에서 Python으로 Excel 파일을 읽는 방법은 무엇입니까?

IronXL 라이브러리를 사용하여 Python에서 Microsoft Excel이 설치되지 않은 상태로 Excel 파일을 읽을 수 있습니다. IronXL은 Excel 파일을 로드하고 그 데이터를 프로그래밍 방식으로 액세스할 수 있게 합니다.

엑셀 데이터로 Word 문서를 만드는 절차는 무엇인가요?

이 과정은 IronXL을 사용하여 Excel 파일에서 데이터를 읽고, python-docx를 사용하여 Word 문서를 생성하여 Excel 데이터를 테이블 또는 텍스트 블록에 삽입하는 것을 포함합니다.

IronXL은 여러 Excel 파일 형식을 처리할 수 있습니까?

네, IronXL은 XLS, XLSX, CSV와 같은 여러 Excel 파일 형식을 지원하여 다양한 Excel 파일 유형을 처리할 수 있는 유연성을 제공합니다.

Python 환경에 IronXL과 python-docx를 어떻게 설치할 수 있나요?

pip install IronXL python-docx 명령을 사용하여 Python 환경에 IronXL과 python-docx를 설치할 수 있습니다.

Excel에서 Word 문서 변환을 자동화하면 어떤 이점이 있나요?

Excel을 Word 문서로 변환을 자동화하면 수작업을 줄이고 오류를 최소화하며 문서 전체의 일관된 서식과 데이터 무결성을 제공함으로써 효율성, 정확성, 프레젠테이션을 향상시킬 수 있습니다.

IronXL을 사용하여 Excel 셀을 어떻게 스타일링하나요?

IronXL은 Excel 셀을 스타일링할 기능을 제공하여 폰트, 색상, 테두리를 설정하는 등 셀의 외관을 사용자 지정할 수 있으며, 이는 Word로 데이터를 전송하기 전에 서식을 지정하는 데 유용할 수 있습니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me