Kako sačuvati proračunske tabele kao CSV u Pythonu
Problem
Sačuvajte Excel radnu svesku (.xlsx) kao CSV fajl koristeći Aspose.Cells FOSS u Pythonu. Učitajte radnu svesku pomoću Workbook(), zatim pozovite save_as_csv() da zapišete aktivni radni list u fajl sa vrednostima odvojenim zarezom. Opcionalno prosledite CSVSaveOptions objekat da kontrolišete delimiter, encoding i quote behaviour.
Preduslovi
Da biste sačuvali proračunske tablice kao CSV koristeći Aspose.Cells FOSS u Pythonu, uverite se da vaše okruženje ispunjava sledeće zahteve.
- Python 3.7 ili noviji instaliran
- Instalirajte Aspose.Cells FOSS putem
pip install aspose-cells-foss>=26.3.1 - Uvezite biblioteku koristeći
from aspose.cells_foss import Workbook - Osnovno poznavanje rada sa fajlovima u Pythonu
Koraci čuvanja
Korak 1: Instalirajte biblioteku
Instalirajte Aspose.Cells FOSS sa PyPI. Za FOSS upotrebu nije potreban fajl licence.
pip install aspose-cells-fossKorak 2: Učitaj radnu svesku
Instancirajte Workbook sa putanjom do postojećeg .xlsx fajla. Konstruktor prihvata opcionalni password parametar za zaštićene radne sveske.
from aspose.cells_foss import Workbook
workbook = Workbook("input.xlsx")Da biste radili sa potpuno novim radnim listom, izostavite putanju do fajla:
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.95Korak 3: Sačuvajte aktivni list kao CSV
Pozovite Workbook.save_as_csv() sa željenom putanjom izlaza. Metoda podrazumevano zapisuje prvi (aktivni) radni list.
workbook.save_as_csv("output.csv")Alternativno, koristite generičku Workbook.save() metodu — Aspose.Cells FOSS izdvaja CSV format iz ekstenzije .csv:
workbook.save("output.csv")Oba poziva daju identičan izlaz kada nisu potrebne prilagođene opcije.
Korak 4: Sačuvaj sa CSV opcijama
Workbook.save_as_csv() prihvata opcioni CSVSaveOptions objekat kao svoj drugi argument. Instancirajte CSVSaveOptions iz aspose.cells_foss.csv_handler i prosledite ga direktno da biste kontrolisali ponašanje izvoza, kao što je izbor ne‑podrazumevanog delimitera ili kodiranja.
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)Kada se ne prosledi CSVSaveOptions, save_as_csv() koristi ugrađene podrazumevane vrednosti biblioteke (zarez kao razdelnik, UTF-8 kodiranje). Prosledite objekat opcija kad god treba da programatski prepišete te podrazumevane vrednosti.
Korak 5: Izvezi određeni radni list
Kada radna sveska sadrži više listova, izvezen je aktivni list. Koristite Workbook.set_active_worksheet() da izaberete koji list da izvezete pre nego što sačuvate.
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")Da biste izvezli svaki list u svoj CSV fajl, iterirajte preko 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")Kompletan primer
Sledeći samostalni primer kreira radnu svesku, popunjava je uzorkom podataka i čuva je i kao standardni CSV i kao CSV razdvojen tačkom i zarezom.
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.")Česti problemi
Prazna izlazna datoteka
Ako je izlazni CSV prazan ili sadrži samo prazne linije, proverite da li su vrednosti ćelija dodeljene pre pozivanja save_as_csv(). Metod izvozi aktivni radni list — potvrdite da je ispravan list aktivan koristeći workbook.get_active_worksheet().
Problemi kodiranja (izobličeni znakovi)
При отварању CSV‑фајла у Excel‑у и појави корумпираних карактера, проверите кодирање које је коришћено приликом извоза. Aspose.Cells FOSS подразумева UTF‑8; Excel на Windows‑у може очекивати ознаку редоследа бајтова (BOM) да би правилно препознао кодирање. Подесите кодирање преко CSVSaveOptions и проследите га у save_as_csv().
Radne sveske sa više listova izvoze samo jedan list
CSV je format jedne tabele; po fajlu se može sačuvati samo jedan radni list. Izvezite svaki list pojedinačno koristeći set_active_worksheet(index) kao što je prikazano u koraku 5.
Ćelije koje sadrže razdelnik
Ako vrednost ćelije sadrži znak razdelnika (npr. zarez u izlazu razdeljenom zarezom), Aspose.Cells FOSS automatski stavlja navodnike oko vrednosti prilikom izvoza. Koristite CSVSaveOptions da prilagodite ponašanje navodnika po potrebi.
FAQ
P: Da li workbook.save("output.csv") daje isti rezultat kao save_as_csv()?
Da. Workbook.save() proverava ekstenziju fajla i delegira na save_as_csv() kada je ekstenzija .csv. Pozovite save_as_csv() direktno i prosledite instancu CSVSaveOptions kada treba da prilagodite izvoz izvan ugrađenih podrazumevanih vrednosti.
P: Mogu li izvesti u CSV string umesto fajla?
Да. Користите CSVHandler.save_csv_to_string(workbook, options) из aspose.cells_foss.csv_handler. Ово враћа CSV садржај као Python стринг, који можете записати у ток, отпремити или даље обрадити без додирања система датотека.
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: Kako da učitam CSV nazad u radnu svesku nakon čuvanja?
Koristite Workbook.load_csv("file.csv") na postojećoj Workbook instanci, ili pozovite praktičnu funkciju load_csv_workbook("file.csv") iz aspose.cells_foss.csv_handler da biste dobili spremnu radnu svesku u jednom koraku.
P: Koje verzije Pythona su podržane?
Aspose.Cells FOSS zahteva Python 3.7 ili noviji. Nisu potrebna dodatna nativna proširenja za izvoz u CSV; biblioteka je čisti Python.
P: Mogu li da sačuvam samo deo radnog lista (opseg ćelija) kao CSV?
Aspose.Cells FOSS izveze celokupni korišćeni opseg aktivnog radnog lista. Da biste ograničili izlaz na određeni opseg, kopirajte željene ćelije u privremenu radnu knjigu i izvezite tu radnu knjigu.
Види такође
- How to Save Files with Aspose.Cells FOSS — opšti pregled čuvanja koji pokriva XLSX i Markdown
- How to Convert CSV to JSON in Python — učitajte CSV i izvezite u JSON format
- How to Export Excel to Markdown in Python — izvoz Markdown tabele koristeći
save_as_markdown() - Aspose.Cells FOSS for Python: Developer Guide — detaljna dokumentacija funkcionalnosti
- API Reference —
Workbook,CSVHandler,CSVSaveOptions