Kaip išsaugoti skaičiuokles kaip CSV Python kalba
Problema
Išsaugokite „Excel" darbaknygę (.xlsx) kaip CSV failą naudodami „Aspose.Cells FOSS" Python kalba. Įkelkite darbaknygę naudodami Workbook(), tada iškvieskite save_as_csv(), kad aktyvų darbalapį įrašytumėte į kableliais atskirtas reikšmes. Pasirinktinai perduokite CSVSaveOptions objektą, kad valdytumėte skyriklį, kodavimą ir kabutės elgseną.
Reikalavimai
Norėdami išsaugoti skaičiuokles kaip CSV naudodami „Aspose.Cells FOSS" Python kalba, įsitikinkite, kad jūsų aplinka atitinka šiuos reikalavimus.
- Įdiegtas Python 3.7 arba naujesnė versija
- Įdiekite „Aspose.Cells FOSS" naudodami
pip install aspose-cells-foss>=26.3.1 - Importuokite biblioteką naudodami
from aspose.cells_foss import Workbook - Pagrindinės Python failų tvarkymo žinios
Išsaugojimo žingsniai
1 žingsnis: Bibliotekos įdiegimas
Įdiekite „Aspose.Cells FOSS" iš PyPI. FOSS naudojimui licenzijos failas nereikalingas.
pip install aspose-cells-foss2 žingsnis: Darbaknygės įkėlimas
Sukurkite Workbook egzempliorių su esamo .xlsx failo keliu. Konstruktorius priima pasirenkamą password parametrą apsaugotoms darbaknygėms.
from aspose.cells_foss import Workbook
workbook = Workbook("input.xlsx")Norėdami dirbti su visiškai nauja darbaknygė, praleiskite failo kelią:
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.953 žingsnis: Aktyvaus lapo išsaugojimas kaip CSV
Iškvieskite Workbook.save_as_csv() su norima išvesties keliu. Metodas pagal numatytąją reikšmę įrašo pirmą (aktyvų) darbalapį.
workbook.save_as_csv("output.csv")Arba naudokite bendrąjį Workbook.save() metodą — „Aspose.Cells FOSS" iš plėtinio .csv nusprendžia CSV formatą:
workbook.save("output.csv")Abu iškvietimai sukuria identišką išvestį, kai nereikia pasirinktinių parinkčių.
4 žingsnis: Išsaugojimas su CSV parinktimis
Workbook.save_as_csv() priima pasirenkamą CSVSaveOptions egzempliorių kaip antrąjį argumentą. Sukurkite CSVSaveOptions egzempliorių iš aspose.cells_foss.csv_handler ir perduokite jį tiesiogiai, kad valdytumėte eksportavimo elgseną, pvz., pasirinkdami nestandartinį skyriklį arba kodavimą.
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)Kai CSVSaveOptions neperduodamas, save_as_csv() naudoja integruotas bibliotekos numatytąsias reikšmes (kablelio skyriklis, UTF-8 kodavimas). Perduokite parinkčių objektą kaskart, kai reikia programiškai perrašyti tas numatytąsias reikšmes.
5 žingsnis: Konkretaus darbalapio eksportavimas
Kai darbaknygė turi kelis lapus, eksportuojamas aktyvus lapas. Naudokite Workbook.set_active_worksheet(), norėdami pasirinkti, kurį lapą eksportuoti prieš išsaugodami.
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")Norėdami eksportuoti kiekvieną lapą į atskirą CSV failą, iteruokite per 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")Išsamus pavyzdys
Toliau pateiktas savarankiškas pavyzdys sukuria darbaknygę, užpildo ją pavyzdiniais duomenimis ir išsaugo kaip standartinį CSV ir kaip kabliataškiais atskirtą CSV.
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.")Dažnos problemos
Tuščias išvesties failas
Jei išvesties CSV yra tuščias arba jame yra tik tuščios eilutės, patikrinkite, ar langelių reikšmės buvo priskirtos prieš kviečiant save_as_csv(). Metodas eksportuoja aktyvų darbalapį — patvirtinkite, kad teisingas lapas yra aktyvus, naudodami workbook.get_active_worksheet().
Kodavimo problemos (neįskaitomi simboliai)
Atidarę CSV programoje „Excel" ir matydami sugadintus simbolius, patikrinkite eksportavimo metu naudotą kodavimą. „Aspose.Cells FOSS" pagal numatytuosius nustatymus naudoja UTF-8; „Excel" sistemoje „Windows" gali tikėtis baitų tvarkos žymeklio (BOM), kad tinkamai atpažintų kodavimą. Sukonfigūruokite kodavimą per CSVSaveOptions ir perduokite jį į save_as_csv().
Kelių lapų darbaknygės eksportuoja tik vieną lapą
CSV yra vienos lentelės formatas; viename faile galima išsaugoti tik vieną darbalapį. Eksportuokite kiekvieną lapą atskirai naudodami set_active_worksheet(index), kaip parodyta 5 žingsnyje.
Langeliai, kuriuose yra skyriklis
Jei langelio reikšmėje yra skyriklio simbolis (pvz., kablelis kableliais atskirtoje išvestyje), „Aspose.Cells FOSS" automatiškai kabutėse pateikia reikšmę eksportavimo metu. Naudokite CSVSaveOptions, norėdami tinkinti kabutės elgseną, jei reikia.
Dažnai užduodami klausimai
K: Ar workbook.save("output.csv") sukuria tokį patį rezultatą kaip save_as_csv()?
Taip. Workbook.save() patikrina failo plėtinį ir deleguoja save_as_csv(), kai plėtinys yra .csv. Kvieskite save_as_csv() tiesiogiai ir perduokite CSVSaveOptions egzempliorių, kai reikia tinkinti eksportavimą viršijant integruotas numatytąsias reikšmes.
K: Ar galiu eksportuoti į CSV eilutę, o ne į failą?
Taip. Naudokite CSVHandler.save_csv_to_string(workbook, options) iš aspose.cells_foss.csv_handler. Tai grąžina CSV turinį kaip Python eilutę, kurią galite įrašyti į srautą, įkelti arba toliau apdoroti, neliesdami failų sistemos.
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)K: Kaip iš naujo įkelti CSV į darbaknygę po išsaugojimo?
Naudokite Workbook.load_csv("file.csv") esamame Workbook egzemplioriuje arba iškvieskite patogumų funkciją load_csv_workbook("file.csv") iš aspose.cells_foss.csv_handler, kad per vieną žingsnį gautumėte parengtą naudoti darbaknygę.
K: Kokios Python versijos palaikomos?
„Aspose.Cells FOSS" reikalauja Python 3.7 arba naujesnės versijos. CSV eksportavimui nereikia jokių papildomų vietinių plėtinių; biblioteka yra grynas Python.
K: Ar galiu išsaugoti tik dalį darbalapio (langelių diapazoną) kaip CSV?
„Aspose.Cells FOSS" eksportuoja visą aktyvaus darbalapio naudotą diapazoną. Norėdami apriboti išvestį iki konkretaus diapazono, nukopijuokite norimus langelius į laikiną darbaknygę ir eksportuokite tą darbaknygę.
Taip pat žiūrėkite
- Kaip išsaugoti failus su „Aspose.Cells FOSS" — bendroji išsaugojimo apžvalga, apimanti XLSX ir Markdown
- Kaip konvertuoti CSV į JSON Python kalba — CSV įkėlimas ir eksportavimas į JSON formatą
- Kaip eksportuoti „Excel" į Markdown Python kalba — Markdown lentelės eksportavimas naudojant
save_as_markdown() - „Aspose.Cells FOSS" Python kalba: kūrėjų vadovas — išsami funkcijų dokumentacija
- API nuoroda —
Workbook,CSVHandler,CSVSaveOptions