Cara Menyimpan Spreadsheet sebagai CSV di Python
Masalah
Simpan workbook Excel (.xlsx) sebagai file CSV menggunakan Aspose.Cells FOSS di Python. Muat workbook dengan Workbook(), kemudian panggil save_as_csv() untuk menulis lembar kerja aktif ke file nilai yang dipisahkan koma. Secara opsional, berikan objek CSVSaveOptions untuk mengontrol delimiter, encoding, dan perilaku kutipan.
Prasyarat
Untuk menyimpan spreadsheet sebagai CSV menggunakan Aspose.Cells FOSS di Python, pastikan lingkungan Anda memenuhi persyaratan berikut.
- Python 3.7 atau lebih baru terpasang
- Instal Aspose.Cells FOSS via
pip install aspose-cells-foss>=26.3.1 - Impor perpustakaan menggunakan
from aspose.cells_foss import Workbook - Familiaritas dasar dengan penanganan file Python
Menyimpan Langkah
Langkah 1: Instal Perpustakaan
Instal Aspose.Cells FOSS dari PyPI. Tidak diperlukan file lisensi untuk penggunaan FOSS.
pip install aspose-cells-fossLangkah 2: Muat Workbook
Instansiasi Workbook dengan jalur ke file .xlsx yang ada. Konstruktor menerima parameter password opsional untuk workbook yang dilindungi.
from aspose.cells_foss import Workbook
workbook = Workbook("input.xlsx")Untuk bekerja dengan workbook baru, lewati jalur file:
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.95Langkah 3: Simpan Lembar Aktif sebagai CSV
Panggil Workbook.save_as_csv() dengan jalur output yang diinginkan. Metode ini menulis lembar kerja pertama (aktif) secara default.
workbook.save_as_csv("output.csv")Sebagai alternatif, gunakan metode generik Workbook.save() — Aspose.Cells FOSS menyimpulkan format CSV dari ekstensi .csv:
workbook.save("output.csv")Kedua panggilan menghasilkan output yang identik ketika tidak diperlukan opsi khusus.
Langkah 4: Simpan dengan Opsi CSV
Workbook.save_as_csv() menerima instance CSVSaveOptions opsional sebagai argumen keduanya. Buat instance CSVSaveOptions dari aspose.cells_foss.csv_handler dan lewati langsung untuk mengontrol perilaku ekspor, seperti memilih delimiter atau encoding yang bukan default.
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)Ketika tidak ada CSVSaveOptions yang diberikan, save_as_csv() menggunakan default bawaan perpustakaan (pemisah koma, enkoding UTF-8). Berikan objek opsi setiap kali Anda perlu mengganti default tersebut secara programatis.
Langkah 5: Ekspor Lembar Kerja Tertentu
Ketika sebuah buku kerja berisi beberapa lembar, lembar aktif yang diekspor. Gunakan Workbook.set_active_worksheet() untuk memilih lembar mana yang akan diekspor sebelum menyimpan.
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")Untuk mengekspor setiap lembar ke file CSV masing-masing, iterasi atas workbook.worksheets:
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")Contoh Lengkap
Contoh mandiri berikut membuat sebuah workbook, mengisinya dengan data contoh, dan menyimpannya sebagai CSV standar serta CSV yang dipisahkan dengan titik koma.
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.")Masalah Umum
File Output Kosong
Jika output CSV kosong atau hanya berisi baris kosong, verifikasi bahwa nilai sel telah ditetapkan sebelum memanggil save_as_csv(). Metode mengekspor lembar kerja aktif — pastikan lembar yang benar aktif menggunakan workbook.get_active_worksheet().
Masalah Pengkodean (Karakter Rusak)
Saat membuka file CSV di Excel dan melihat karakter yang rusak, periksa encoding yang digunakan saat ekspor. Aspose.Cells FOSS secara default menggunakan UTF-8; Excel di Windows mungkin mengharapkan byte-order mark (BOM) untuk mengenali encoding dengan benar. Konfigurasikan encoding melalui CSVSaveOptions dan berikan ke save_as_csv().
Buku Kerja Multi-Lembar Mengekspor Hanya Satu Lembar
CSV adalah format tabel tunggal; hanya satu lembar kerja yang dapat disimpan per file. Ekspor setiap lembar secara terpisah menggunakan set_active_worksheet(index) seperti yang ditunjukkan pada Langkah 5.
Sel yang Mengandung Pembatas
Jika nilai sel mengandung karakter pemisah (mis., koma dalam output yang dipisahkan koma), Aspose.Cells FOSS secara otomatis menambahkan kutipan pada nilai tersebut saat diekspor. Gunakan CSVSaveOptions untuk menyesuaikan perilaku pengutipan bila diperlukan.
FAQ
Q: Apakah workbook.save("output.csv") menghasilkan hasil yang sama dengan save_as_csv()?
Ya. Workbook.save() memeriksa ekstensi file dan mendelegasikan ke save_as_csv() ketika ekstensi adalah .csv. Panggil save_as_csv() secara langsung dan berikan sebuah instance CSVSaveOptions ketika Anda perlu menyesuaikan ekspor di luar default bawaan.
Q: Bisakah saya mengekspor ke string CSV alih-alih file?
Ya. Gunakan CSVHandler.save_csv_to_string(workbook, options) dari aspose.cells_foss.csv_handler. Ini mengembalikan konten CSV sebagai string Python, yang dapat Anda tulis ke aliran, unggah, atau proses lebih lanjut tanpa menyentuh sistem berkas.
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)Q: Bagaimana cara memuat CSV kembali ke dalam workbook setelah menyimpan?
Gunakan Workbook.load_csv("file.csv") pada instance Workbook yang ada, atau panggil fungsi kemudahan load_csv_workbook("file.csv") dari aspose.cells_foss.csv_handler untuk mendapatkan workbook siap pakai dalam satu langkah.
Q: Versi Python apa yang didukung?
Aspose.Cells FOSS memerlukan Python 3.7 atau yang lebih baru. Tidak diperlukan ekstensi native tambahan untuk ekspor CSV; perpustakaan ini murni Python.
Q: Bisakah saya menyimpan hanya sebagian dari lembar kerja (rentang sel) sebagai CSV?
Aspose.Cells FOSS mengekspor seluruh rentang yang digunakan pada lembar kerja aktif. Untuk membatasi output ke rentang tertentu, salin sel yang diinginkan ke dalam buku kerja sementara dan ekspor buku kerja tersebut.
Lihat Juga
- Cara Menyimpan File dengan Aspose.Cells FOSS — ikhtisar penyimpanan umum yang mencakup XLSX dan Markdown
- Cara Mengonversi CSV ke JSON dalam Python — memuat CSV dan mengekspor ke format JSON
- Cara Mengekspor Excel ke Markdown dalam Python — ekspor tabel Markdown menggunakan
save_as_markdown() - Aspose.Cells FOSS untuk Python: Panduan Pengembang — dokumentasi fitur komprehensif
- Referensi API —
Workbook,CSVHandler,CSVSaveOptions