Python에서 Excel을 Markdown으로 내보내는 방법
Excel 데이터를 Markdown으로 내보내는 것은 문서 파이프라인, README 생성기 및 정적 사이트 워크플로우에서 일반적인 요구 사항입니다. Aspose.Cells FOSS for Python은 workbook.save_as_markdown()를 통해 단일 메서드 작업으로 이를 수행합니다: Microsoft Office가 필요 없습니다.
Note: Aspose.Cells FOSS는 XLSX, CSV, TSV, Markdown 및 JSON으로 내보냅니다. PDF 내보내기는 FOSS 라이브러리의 일부가 아닙니다.
왜 Aspose.Cells FOSS로 Excel을 Markdown으로 내보내나요?
- Office 의존성 없음: 네이티브 COM이나 Office 설치 없이 완전히 Python에서 변환합니다.
- 인메모리 지원:
MarkdownHandler을 사용하여 디스크 I/O 없이 Markdown 문자열을 생성합니다. - 맞춤형 출력:
MarkdownSaveOptions를 통해 내보내기 동작을 구성합니다. - 파이프라인 친화적: 문서 생성기, 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 = 225003단계: 마크다운으로 내보내기
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에서 플랫폼별 설정 없이 실행됩니다.
관련 리소스:
- Aspose.Cells FOSS for Python: 개발자 가이드
- 스프레드시트 형식 내보내기
- 시작하기 / 설치
- API 참조:
MarkdownHandler,MarkdownSaveOptions,Workbook.save_as_markdown() - 지식 베이스: 차트, 스타일링, 로드 등에 대한 추가 사용 방법 가이드
- 제품 개요: 기능 및 역량 요약
- 블로그: Aspose.Cells FOSS 소개: 라이브러리 개요 및 빠른 시작