Kaip išsaugoti skaičiuokles kaip CSV Python kalba

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-foss

2 ž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.95

3 ž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)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")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

 Lietuvių