Python'da Elektronik Tabloları CSV Olarak Kaydetme
Problem
Aspose.Cells FOSS kullanarak Python’da bir Excel çalışma kitabını (.xlsx) CSV dosyası olarak kaydedin. Workbook() ile çalışma kitabını yükleyin, ardından aktif çalışma sayfasını virgülle ayrılmış değerler dosyasına yazmak için save_as_csv() çağırın. Sınırlayıcıyı, kodlamayı ve tırnak işareti davranışını kontrol etmek için isteğe bağlı olarak bir CSVSaveOptions nesnesi geçirin.
Ön Koşullar
Python’da Aspose.Cells FOSS kullanarak elektronik tabloları CSV olarak kaydetmek için ortamınızın aşağıdaki gereksinimleri karşıladığından emin olun.
- Python 3.7 veya üzeri yüklü
- Aspose.Cells FOSS’u
pip install aspose-cells-foss>=26.3.1ile kurun - Kitaplığı
from aspose.cells_foss import Workbookkullanarak içe aktarın - Python dosya işleme konusunda temel bilgi
Kaydetme Adımları
Adım 1: Kitaplığı Yükleme
Aspose.Cells FOSS’u PyPI’den yükleyin. FOSS kullanımı için lisans dosyası gerekmez.
pip install aspose-cells-fossAdım 2: Çalışma Kitabını Yükleme
Mevcut bir .xlsx dosyasının yoluyla Workbook örneği oluşturun. Yapıcı, korumalı çalışma kitapları için isteğe bağlı bir password parametresi kabul eder.
from aspose.cells_foss import Workbook
workbook = Workbook("input.xlsx")Yeni bir çalışma kitabıyla çalışmak için dosya yolunu atlayın:
from aspose.cells_foss import Workbook
workbook = Workbook()
worksheet = workbook.worksheets[0]
# Populate some cells
worksheet.cells["A1"].value = "Product"
worksheet.cells["B1"].value = "Price"
worksheet.cells["A2"].value = "Widget"
worksheet.cells["B2"].value = 9.99
worksheet.cells["A3"].value = "Gadget"
worksheet.cells["B3"].value = 24.95Adım 3: Aktif Sayfayı CSV Olarak Kaydetme
İstenen çıktı yoluyla Workbook.save_as_csv() çağırın. Yöntem varsayılan olarak ilk (aktif) çalışma sayfasını yazar.
workbook.save_as_csv("output.csv")Alternatif olarak, genel Workbook.save() yöntemini kullanın — Aspose.Cells FOSS CSV biçimini .csv uzantısından çıkarır:
workbook.save("output.csv")Özel seçenekler gerekmediğinde her iki çağrı da aynı çıktıyı üretir.
Adım 4: CSV Seçenekleriyle Kaydetme
Workbook.save_as_csv(), ikinci bağımsız değişken olarak isteğe bağlı bir CSVSaveOptions örneği kabul eder. Dışa aktarma davranışını kontrol etmek için aspose.cells_foss.csv_handler‘dan CSVSaveOptions örneği oluşturun ve doğrudan geçirin; örneğin varsayılan olmayan sınırlayıcı veya kodlama seçimi için.
from aspose.cells_foss import Workbook
from aspose.cells_foss.csv_handler import CSVSaveOptions
workbook = Workbook("input.xlsx")
# Create options instance — configure attributes per your environment's needs
options = CSVSaveOptions()
workbook.save_as_csv("output_custom.csv", options)CSVSaveOptions geçirilmediğinde, save_as_csv() kitaplığın yerleşik varsayılanlarını kullanır (virgül sınırlayıcı, UTF-8 kodlama). Bu varsayılanları programatik olarak geçersiz kılmanız gerektiğinde seçenekler nesnesini geçirin.
Adım 5: Belirli Bir Çalışma Sayfasını Dışa Aktarma
Bir çalışma kitabı birden fazla sayfa içerdiğinde, aktif sayfa dışa aktarılır. Kaydetmeden önce hangi sayfanın dışa aktarılacağını seçmek için Workbook.set_active_worksheet() kullanın.
from aspose.cells_foss import Workbook
workbook = Workbook("multi_sheet.xlsx")
# Export the second worksheet (index 1)
workbook.set_active_worksheet(1)
workbook.save_as_csv("sheet2_output.csv")Her sayfayı kendi CSV dosyasına dışa aktarmak için workbook.worksheets üzerinde yineleyin:
from aspose.cells_foss import Workbook
workbook = Workbook("multi_sheet.xlsx")
for index in range(len(workbook.worksheets)):
ws = workbook.get_worksheet_by_index(index)
workbook.set_active_worksheet(index)
workbook.save_as_csv(f"sheet_{ws.name}.csv")Tam Örnek
Aşağıdaki bağımsız örnek bir çalışma kitabı oluşturur, örnek verilerle doldurur ve hem standart CSV hem de noktalı virgülle ayrılmış CSV olarak kaydeder.
from aspose.cells_foss import Workbook
from aspose.cells_foss.csv_handler import CSVSaveOptions
# Create workbook and populate data
workbook = Workbook()
worksheet = workbook.worksheets[0]
headers = ["Name", "Department", "Salary"]
rows = [
["Alice", "Engineering", 95000],
["Bob", "Marketing", 72000],
["Carol", "Finance", 81000],
]
for col, header in enumerate(headers):
col_letter = chr(ord("A") + col)
worksheet.cells[f"{col_letter}1"].value = header
for row_idx, row in enumerate(rows, start=2):
for col_idx, val in enumerate(row):
col_letter = chr(ord("A") + col_idx)
worksheet.cells[f"{col_letter}{row_idx}"].value = val
# Save as standard CSV (default options)
workbook.save_as_csv("employees.csv")
# Save with explicit CSVSaveOptions instance
options = CSVSaveOptions()
workbook.save_as_csv("employees_custom.csv", options)
print("CSV files written successfully.")Sık Karşılaşılan Sorunlar
Boş Çıktı Dosyası
Çıktı CSV’si boşsa veya yalnızca boş satırlar içeriyorsa, save_as_csv() çağrılmadan önce hücre değerlerinin atandığını doğrulayın. Yöntem aktif çalışma sayfasını dışa aktarır — doğru sayfanın workbook.get_active_worksheet() kullanılarak aktif olduğunu onaylayın.
Kodlama Sorunları (Bozuk Karakterler)
Excel’de bir CSV açarken bozuk karakterler görüyorsanız, dışa aktarma sırasında kullanılan kodlamayı doğrulayın. Aspose.Cells FOSS varsayılan olarak UTF-8 kullanır; Windows’taki Excel, kodlamayı doğru tanımak için bir bayt sırası işareti (BOM) bekleyebilir. Kodlamayı CSVSaveOptions aracılığıyla yapılandırın ve save_as_csv()‘ye geçirin.
Çok Sayfalı Çalışma Kitapları Yalnızca Bir Sayfa Dışa Aktarıyor
CSV tek tablo biçimidir; dosya başına yalnızca bir çalışma sayfası kaydedilebilir. Her sayfayı Adım 5’te gösterildiği gibi set_active_worksheet(index) kullanarak ayrı ayrı dışa aktarın.
Sınırlayıcıyı İçeren Hücreler
Bir hücre değeri sınırlayıcı karakterini içeriyorsa (örneğin, virgülle ayrılmış çıktıda virgül), Aspose.Cells FOSS dışa aktarma sırasında değeri otomatik olarak tırnak içine alır. Gerekirse tırnak işareti davranışını özelleştirmek için CSVSaveOptions kullanın.
Sık Sorulan Sorular
S: workbook.save("output.csv") ile save_as_csv() aynı sonucu mu üretiyor?
Evet. Workbook.save() dosya uzantısını inceler ve uzantı .csv olduğunda save_as_csv()‘ye devreder. Yerleşik varsayılanların ötesinde dışa aktarmayı özelleştirmeniz gerektiğinde save_as_csv() doğrudan çağırın ve bir CSVSaveOptions örneği geçirin.
S: Dosya yerine CSV dizesine dışa aktarabilir miyim?
Evet. aspose.cells_foss.csv_handler‘dan CSVHandler.save_csv_to_string(workbook, options) kullanın. Bu, CSV içeriğini dosya sistemine dokunmadan bir akışa yazabileceğiniz, yükleyebileceğiniz veya işleyebileceğiniz bir Python dizesi olarak döndürür.
from aspose.cells_foss import Workbook
from aspose.cells_foss.csv_handler import CSVHandler, CSVSaveOptions
workbook = Workbook("input.xlsx")
csv_string = CSVHandler().save_csv_to_string(workbook, CSVSaveOptions())
print(csv_string)S: Kaydettikten sonra CSV’yi çalışma kitabına nasıl geri yüklerim?
Mevcut bir Workbook örneğinde Workbook.load_csv("file.csv") kullanın veya tek adımda kullanıma hazır bir çalışma kitabı elde etmek için aspose.cells_foss.csv_handler‘dan load_csv_workbook("file.csv") kolaylık işlevini çağırın.
S: Hangi Python sürümleri destekleniyor?
Aspose.Cells FOSS, Python 3.7 veya üzerini gerektirir. CSV dışa aktarma için ek yerel uzantılara gerek yoktur; kitaplık saf Python’dur.
S: Bir çalışma sayfasının yalnızca bir bölümünü (hücre aralığı) CSV olarak kaydedebilir miyim?
Aspose.Cells FOSS, aktif çalışma sayfasının kullanılan tam aralığını dışa aktarır. Çıktıyı belirli bir aralıkla sınırlamak için istenen hücreleri geçici bir çalışma kitabına kopyalayın ve o çalışma kitabını dışa aktarın.
Ayrıca Bkz.
- Aspose.Cells FOSS ile Dosya Kaydetme — XLSX ve Markdown’ı kapsayan genel kaydetme genel bakışı
- Python’da CSV’yi JSON’a Dönüştürme — CSV yükleme ve JSON formatına dışa aktarma
- Python’da Excel’i Markdown’a Aktarma —
save_as_markdown()kullanarak Markdown tablo dışa aktarma - Python için Aspose.Cells FOSS: Geliştirici Kılavuzu — kapsamlı özellik belgeleri
- API Referansı —
Workbook,CSVHandler,CSVSaveOptions