Python'da Excel'i Markdown'a Nasıl Dışa Aktarılır

Python'da Excel'i Markdown'a Nasıl Dışa Aktarılır

Excel verilerini Markdown’a aktarmak, belgeleme hatları, README oluşturucuları ve statik site iş akışları için yaygın bir gereksinimdir. Aspose.Cells FOSS for Python bunu workbook.save_as_markdown() aracılığıyla tek yöntemle gerçekleştirir: Microsoft Office gerekmez.

Not: Aspose.Cells FOSS, XLSX, CSV, TSV, Markdown ve JSON formatlarına dışa aktarır. PDF dışa aktarımı FOSS kütüphanesinin bir parçası değildir.

Aspose.Cells FOSS ile Excel’i Markdown’a Neden Dışa Aktarırsınız?

  1. Office bağımlılığı yok: Yerel COM veya Office kurulumu olmadan tamamen Python’da dönüştürür.
  2. Bellek içi destek: MarkdownHandler kullanarak herhangi bir disk G/Ç’si olmadan Markdown dizgileri oluşturur.
  3. Özelleştirilebilir çıktı: MarkdownSaveOptions aracılığıyla dışa aktarma davranışını yapılandırın.
  4. Pipeline dostu: Belgelendirme oluşturucularına, Hugo statik sitelerine veya GitHub Actions iş akışlarına doğrudan entegre edin.

Adım Adım Kılavuz

Adım 1: Python için Aspose.Cells FOSS’yi kurun

PyPI’dan pip kullanarak kütüphaneyi kurun:

pip install aspose-cells-foss

Kurulumu doğrulayın:

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

Adım 2: Bir Çalışma Kitabı Oluşturun ve Verileri Doldurun

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

Adım 3: Markdown’a Dışa Aktar

workbook.save_as_markdown()‘yi .md çıktı yolu ile çağırın:

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

Çıktı standart bir Markdown tablosudur:

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

Adım 4: MarkdownSaveOptions ile özelleştirin

MarkdownSaveOptions kullanarak çıktı formatını kontrol edin:

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 örneğini yapılandırma için save_as_markdown()‘a gönderin.


Adım 5: Markdown’ı Bellekte Oluştur (Dosya G/Ç’sı Yok)

MarkdownHandler.save_markdown_to_string() kullanarak Markdown’i bir Python dizesi olarak alın:

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.

Adım 6: Mevcut bir XLSX dosyasını yükle ve Markdown olarak dışa aktar

from aspose.cells_foss import Workbook

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

Bu, tüm hücre değerlerini ve temel yapıyı korur. Not: Markdown dışa aktarımı yalnızca cell.value okur — önbelleğe alınmış değeri olmayan yalnızca bir formül içeren hücreler çıktıda boş görünecektir. Kütüphane, dışa aktarma sırasında formülleri değerlendirmez. Formül sonuçlarının görünmesini sağlamak için, dosyayı önce Excel veya LibreOffice’de açın (formül sonuçlarını değerlendirip önbelleğe alır), XLSX olarak kaydedin, ardından yeniden dışa aktarın.


Adım 7: Hata İşleme

Üretim kullanımı için dışa aktarımları try/except blokları içinde sarın:

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

Yaygın Sorunlar ve Çözümler

1. Boş Markdown çıktısı

Cause: Çalışma sayfasında doldurulmuş hücre yok.
Fix: ws.cells["A1"].value ayarlandığını ve None olmadığını, save_as_markdown() çağırmadan önce doğrulayın.

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

Neden: Paket yüklü değil veya yanlış paket adı kullanıldı.
Çözüm: pip install aspose-cells-foss çalıştırın. İçe aktarma from aspose.cells_foss import ... (alt çizgi, nokta değil).

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

Neden: Yanlış paketi kurdunuz (aspose-cells-python yerine aspose-cells-foss).
Düzeltme: pip install aspose-cells-foss ve from aspose.cells_foss import Workbook onaylayın.

4. Çıktı dosyasındaki kodlama sorunları

Cause: Markdown dizesini UTF-8 kodlaması belirtilmeden bir dosyaya yazmak.
Fix: MarkdownHandler.save_markdown_to_string() kullanın ve açıkça yazın:

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

Sıkça Sorulan Sorular

Bunun yerine PDF olarak dışa aktarabilir miyim?

Hayır. PDF dışa aktarımı Aspose.Cells FOSS’ta mevcut değil. PDF çıktısı için ticari aspose-cells-python paketini kullanın.

Hangi giriş formatlarını yükleyebilir ve ardından Markdown olarak dışa aktarabilirim?

XLSX ve CSV dosyaları Workbook("file.xlsx") ile yüklenebilir ve ardından Markdown’a aktarılabilir.

Birden fazla sayfa olduğunda yalnızca bir sayfayı nasıl dışa aktarırım?

Varsayılan olarak, save_as_markdown() ilk çalışma sayfasını dışa aktarır. Ek yapılandırma için bir MarkdownSaveOptions örneği geçirin.

Bunu Linux veya macOS’ta çalıştırabilir miyim?

Evet. Kütüphane, Windows, Linux ve macOS üzerinde platforma özgü herhangi bir kurulum gerektirmeden çalışır.


İlgili Kaynaklar:

 Türkçe