Kako spremiti proračunske tablice kao CSV u Pythonu
Problem
Spremite Excel radnu knjižicu (.xlsx) kao CSV datoteku koristeći Aspose.Cells FOSS u Pythonu. Učitajte radnu knjižicu s Workbook(), zatim pozovite save_as_csv() za pisanje aktivnog radnog lista u datoteku vrijednosti odvojenih zarezima. Po izboru proslijedite objekt CSVSaveOptions za kontrolu razdjelnika, kodiranja i ponašanja navodnika.
Preduvjeti
Za spremanje proračunskih tablica kao CSV koristeći Aspose.Cells FOSS u Pythonu, osigurajte da vaše okruženje ispunjava sljedeće zahtjeve.
- 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 s datotekama u Pythonu
Koraci za spremanje
Korak 1: Instaliranje biblioteke
Instalirajte Aspose.Cells FOSS s PyPI. Za korištenje FOSS nije potrebna datoteka licence.
pip install aspose-cells-fossKorak 2: Učitavanje radne knjižice
Instancirajte Workbook s putanjom do postojeće .xlsx datoteke. Konstruktor prihvaća neobavezni parametar password za zaštićene radne knjižice.
from aspose.cells_foss import Workbook
workbook = Workbook("input.xlsx")Za rad s potpuno novom radnom knjižicom, izostavite putanju datoteke:
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: Spremanje aktivnog lista kao CSV
Pozovite Workbook.save_as_csv() s željenom izlaznom putanjom. Metoda prema zadanim postavkama zapisuje prvi (aktivni) radni list.
workbook.save_as_csv("output.csv")Alternativno, koristite generičku metodu Workbook.save() — Aspose.Cells FOSS zaključuje CSV format iz ekstenzije .csv:
workbook.save("output.csv")Oba poziva daju identičan izlaz kada nisu potrebne prilagođene opcije.
Korak 4: Spremanje s CSV opcijama
Workbook.save_as_csv() prihvaća neobaveznu instancu CSVSaveOptions kao drugi argument. Instancirajte CSVSaveOptions iz aspose.cells_foss.csv_handler i proslijedite ga izravno za kontrolu ponašanja izvoza, kao što je odabir nestandardnog razdjelnika 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 proslijedi CSVSaveOptions, save_as_csv() koristi ugrađene zadane vrijednosti biblioteke (razdjelnik zarez, kodiranje UTF-8). Proslijedite objekt opcija uvijek kada trebate programatski nadjačati te zadane vrijednosti.
Korak 5: Izvoz određenog radnog lista
Kada radna knjižica sadrži više listova, izvozi se aktivni list. Koristite Workbook.set_active_worksheet() za odabir lista za izvoz prije spremanja.
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")Za izvoz svakog lista u vlastitu CSV datoteku, iterirajte kroz 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")Potpuni primjer
Sljedeći samostalni primjer kreira radnu knjižicu, popunjava je uzorkom podataka i sprema je i kao standardni CSV i kao CSV odvojen točka-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 retke, provjerite jesu li vrijednosti ćelija dodijeljene prije pozivanja save_as_csv(). Metoda izvozi aktivni radni list — potvrdite da je ispravan list aktivan koristeći workbook.get_active_worksheet().
Problemi s kodiranjem (iskrivljeni znakovi)
Kada otvarate CSV u Excelu i vidite oštećene znakove, provjerite kodiranje korišteno tijekom izvoza. Aspose.Cells FOSS zadano koristi UTF-8; Excel na Windowsu može očekivati oznaku redoslijeda bajtova (BOM) za ispravno prepoznavanje kodiranja. Konfigurirajte kodiranje putem CSVSaveOptions i proslijedite ga u save_as_csv().
Radne knjižice s više listova izvoze samo jedan list
CSV je format jedne tablice; po datoteci se može spremiti 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 razdjelnik
Ako vrijednost ćelije sadrži znak razdjelnika (npr. zarez u izlazu odvojenom zarezima), Aspose.Cells FOSS automatski stavlja navodne znakove oko vrijednosti tijekom izvoza. Koristite CSVSaveOptions za prilagodbu ponašanja navodnih znakova prema potrebi.
Često postavljana pitanja
P: Daje li workbook.save("output.csv") isti rezultat kao save_as_csv()?
Da. Workbook.save() provjerava ekstenziju datoteke i delegira na save_as_csv() kada je ekstenzija .csv. Pozovite save_as_csv() izravno i proslijedite instancu CSVSaveOptions kada trebate prilagoditi izvoz izvan ugrađenih zadanih postavki.
P: Mogu li izvesti u CSV niz umjesto datoteke?
Da. Koristite CSVHandler.save_csv_to_string(workbook, options) iz aspose.cells_foss.csv_handler. Ovo vraća CSV sadržaj kao Python niz, koji možete zapisati u tok, prenijeti ili dalje obraditi bez doticaja datotečnog sustava.
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)P: Kako učitati CSV natrag u radnu knjižicu nakon spremanja?
Koristite Workbook.load_csv("file.csv") na postojećoj instanci Workbook, ili pozovite funkciju pogodnosti load_csv_workbook("file.csv") iz aspose.cells_foss.csv_handler za dobivanje radne knjižice spremne za korištenje u jednom koraku.
P: Koje verzije Pythona su podržane?
Aspose.Cells FOSS zahtijeva Python 3.7 ili noviji. Nisu potrebna nikakva dodatna nativna proširenja za CSV izvoz; biblioteka je čisti Python.
P: Mogu li spremiti samo dio radnog lista (raspon ćelija) kao CSV?
Aspose.Cells FOSS izvozi cijeli korišteni raspon aktivnog radnog lista. Za ograničavanje izlaza na određeni raspon, kopirajte željene ćelije u privremenu radnu knjižicu i izvezite tu radnu knjižicu.
Vidi također
- Kako spremiti datoteke s Aspose.Cells FOSS — opći pregled spremanja koji pokriva XLSX i Markdown
- Kako pretvoriti CSV u JSON u Pythonu — učitavanje CSV-a i izvoz u JSON format
- Kako izvesti Excel u Markdown u Pythonu — izvoz Markdown tablice koristeći
save_as_markdown() - Aspose.Cells FOSS za Python: Vodič za razvojne programere — sveobuhvatna dokumentacija funkcionalnosti
- API referenca —
Workbook,CSVHandler,CSVSaveOptions