Python에서 Excel을 Markdown으로 내보내는 방법

Python에서 Excel을 Markdown으로 내보내는 방법

Excel 데이터를 Markdown으로 내보내는 것은 문서 파이프라인, README 생성기 및 정적 사이트 워크플로우에서 일반적인 요구 사항입니다. Aspose.Cells FOSS for Pythonworkbook.save_as_markdown()를 통해 단일 메서드 작업으로 이를 수행합니다: Microsoft Office가 필요 없습니다.

Note: Aspose.Cells FOSS는 XLSX, CSV, TSV, Markdown 및 JSON으로 내보냅니다. PDF 내보내기는 FOSS 라이브러리의 일부가 아닙니다.

왜 Aspose.Cells FOSS로 Excel을 Markdown으로 내보내나요?

  1. Office 의존성 없음: 네이티브 COM이나 Office 설치 없이 완전히 Python에서 변환합니다.
  2. 인메모리 지원: MarkdownHandler을 사용하여 디스크 I/O 없이 Markdown 문자열을 생성합니다.
  3. 맞춤형 출력: MarkdownSaveOptions를 통해 내보내기 동작을 구성합니다.
  4. 파이프라인 친화적: 문서 생성기, Hugo 정적 사이트, 또는 GitHub Actions 워크플로에 직접 통합합니다.

단계별 가이드

1단계: Python용 Aspose.Cells FOSS 설치

pip를 사용하여 PyPI에서 라이브러리를 설치하십시오:

pip install aspose-cells-foss

설치 확인:

from aspose.cells_foss import Workbook
print("Ready.")

2단계: 워크북을 만들고 데이터를 채우기

from aspose.cells_foss import Workbook, Cell

workbook = Workbook()
ws = workbook.worksheets[0]

##Headers
ws.cells["A1"].value = "Product"
ws.cells["B1"].value = "Q1 Revenue"
ws.cells["C1"].value = "Q2 Revenue"

##Data rows
ws.cells["A2"].value = "Widget A"
ws.cells["B2"].value = 12500
ws.cells["C2"].value = 15000

ws.cells["A3"].value = "Widget B"
ws.cells["B3"].value = 8750
ws.cells["C3"].value = 9200

ws.cells["A4"].value = "Widget C"
ws.cells["B4"].value = 20000
ws.cells["C4"].value = 22500

3단계: 마크다운으로 내보내기

workbook.save_as_markdown().md 출력 경로와 함께 호출하십시오:

workbook.save_as_markdown("report.md")
print("Markdown saved successfully.")

출력은 표준 Markdown 테이블입니다:

| Product | Q1 Revenue | Q2 Revenue |
|---|---|---|
| Widget A | 12500 | 15000 |
| Widget B | 8750 | 9200 |
| Widget C | 20000 | 22500 |

4단계: MarkdownSaveOptions를 사용하여 사용자 지정

MarkdownSaveOptions을 사용하여 출력 형식을 제어하십시오:

from aspose.cells_foss import Workbook, Cell, MarkdownSaveOptions

workbook = Workbook()
ws = workbook.worksheets[0]
ws.cells["A1"].value = "City"
ws.cells["B1"].value = "Population"
ws.cells["A2"].value = "London"
ws.cells["B2"].value = 9000000
ws.cells["A3"].value = "Tokyo"
ws.cells["B3"].value = 13960000

options = MarkdownSaveOptions()

workbook.save_as_markdown("cities.md", options)

구성을 위해 MarkdownSaveOptions 인스턴스를 save_as_markdown()에 전달하십시오.


5단계: 메모리 내에서 마크다운 생성 (파일 I/O 없음)

MarkdownHandler.save_markdown_to_string()를 사용하여 Markdown을 Python 문자열로 가져옵니다:

from aspose.cells_foss import Workbook, Cell, MarkdownHandler

workbook = Workbook()
ws = workbook.worksheets[0]
ws.cells["A1"].value = "Key"
ws.cells["B1"].value = "Value"
ws.cells["A2"].value = "version"
ws.cells["B2"].value = "26.3.0"
ws.cells["A3"].value = "license"
ws.cells["B3"].value = "MIT"

md_string = MarkdownHandler.save_markdown_to_string(workbook)
print(md_string)
##Use md_string in an API response, a GitHub README template, etc.

6단계: 기존 XLSX 로드 및 마크다운으로 내보내기

from aspose.cells_foss import Workbook

workbook = Workbook("existing_report.xlsx")
workbook.save_as_markdown("existing_report.md")
print("Markdown export complete.")

이것은 모든 셀 값과 기본 구조를 보존합니다. Note: Markdown 내보내기는 cell.value만 읽습니다 — 캐시된 값이 없는 수식만 포함된 셀은 출력에서 빈칸으로 표시됩니다. 라이브러리는 내보내기 시 수식을 평가하지 않습니다. 수식 결과가 표시되도록 하려면 먼저 Excel 또는 LibreOffice에서 파일을 열어(수식을 평가하고 캐시함) XLSX로 저장한 다음 다시 내보내세요.


7단계: 오류 처리

생산 환경에서 사용하기 위해 내보내기를 try/except 블록으로 감싸세요:

from aspose.cells_foss import Workbook

def export_to_markdown(xlsx_path: str, md_path: str) -> bool:
    try:
        workbook = Workbook(xlsx_path)
        workbook.save_as_markdown(md_path)
        return True
    except FileNotFoundError:
        print(f"Input file not found: {xlsx_path}")
        return False
    except Exception as e:
        print(f"Export failed for {xlsx_path}: {e}")
        return False

일반적인 문제 및 해결책

1. 빈 마크다운 출력

Cause: 워크시트에 채워진 셀이 없습니다.
Fix: ws.cells["A1"].value가 설정되어 있고 None가 아닌지 확인한 후 save_as_markdown()를 호출하십시오.

2. ModuleNotFoundError: No module named 'aspose.cells_foss'

Cause: 패키지가 설치되지 않았거나 잘못된 패키지 이름을 사용했습니다.
Fix: pip install aspose-cells-foss을 실행하십시오. import는 from aspose.cells_foss import ...입니다 (밑줄이며, 점이 아닙니다).

3. AttributeError: 'Workbook' object has no attribute 'save_as_markdown'

Cause: 잘못된 패키지를 설치했습니다 (aspose-cells-python 대신 aspose-cells-foss).
Fix: pip install aspose-cells-foss하고 from aspose.cells_foss import Workbook를 확인하십시오.

4. 출력 파일의 인코딩 문제

Cause: 마크다운 문자열을 UTF-8 인코딩을 지정하지 않고 파일에 쓰는 경우.
Fix: MarkdownHandler.save_markdown_to_string()을 사용하고 명시적으로 씁니다:

with open("output.md", "w", encoding="utf-8") as f:
    f.write(md_string)

자주 묻는 질문

PDF로 대신 내보낼 수 있나요?

아니요. PDF 내보내기는 Aspose.Cells FOSS에서 사용할 수 없습니다. PDF 출력을 위해 상용 aspose-cells-python 패키지를 사용하십시오.

어떤 입력 형식을 로드한 다음 Markdown으로 내보낼 수 있나요?

XLSX 및 CSV 파일은 Workbook("file.xlsx")를 사용하여 로드한 다음 Markdown으로 내보낼 수 있습니다.

여러 개의 시트가 있을 때 하나의 시트만 내보내려면 어떻게 해야 하나요?

기본적으로, save_as_markdown()는 첫 번째 워크시트를 내보냅니다. 추가 구성을 위해 MarkdownSaveOptions 인스턴스를 전달하십시오.

Linux 또는 macOS에서 실행할 수 있나요?

예. 이 라이브러리는 Windows, Linux 및 macOS에서 플랫폼별 설정 없이 실행됩니다.


관련 리소스:

 한국어