Kuinka tallentaa taulukkolaskentaohjelmat CSV-muodossa Pythonilla

Kuinka tallentaa taulukkolaskentaohjelmat CSV-muodossa Pythonilla

Ongelma

Tallenna Excel-työkirja (.xlsx) CSV-tiedostona käyttämällä Aspose.Cells FOSS:ia Pythonissa. Lataa työkirja Workbook(), sitten kutsu save_as_csv() kirjoittaaksesi aktiivisen taulukon pilkkueroteltuun tiedostoon. Vaihtoehtoisesti anna CSVSaveOptions-objekti hallitsemaan erotinta, merkistöä ja lainauskäyttäytymistä.

Edellytykset

Tallentaaksesi taulukkolaskenta-asiakirjat CSV-muodossa käyttäen Aspose.Cells FOSS:ia Pythonissa, varmista, että ympäristösi täyttää seuraavat vaatimukset.

  • Python 3.7 tai uudempi asennettuna
  • Asenna Aspose.Cells FOSS via pip install aspose-cells-foss>=26.3.1
  • Tuo kirjasto käyttäen from aspose.cells_foss import Workbook
  • Perustiedot Pythonin tiedostojen käsittelystä

Tallennusvaiheet

Vaihe 1: Asenna kirjasto

Asenna Aspose.Cells FOSS PyPI:stä. Lisenssitiedostoa ei tarvita FOSS‑käyttöön.

pip install aspose-cells-foss

Vaihe 2: Lataa työkirja

Luo Workbook annetulla polulla olemassa olevaan .xlsx‑tiedostoon. Konstruktori hyväksyy valinnaisen password‑parametrin suojatuille työkirjoille.

from aspose.cells_foss import Workbook

workbook = Workbook("input.xlsx")

Työskennelläksesi sen sijaan täysin uuden työkirjan kanssa, jätä tiedostopolku pois:

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

Vaihe 3: Tallenna aktiivinen taulukko CSV-muodossa

Kutsu Workbook.save_as_csv() halutulla tulostuspolulla. Menetelmä kirjoittaa oletuksena ensimmäisen (aktiivisen) laskentataulukon.

workbook.save_as_csv("output.csv")

Vaihtoehtoisesti käytä geneeristä Workbook.save()-menetelmää — Aspose.Cells FOSS päätelsee CSV-muodon .csv-tiedostopäätteestä:

workbook.save("output.csv")

Molemmat kutsut tuottavat identtisen tuloksen, kun mukautettuja asetuksia ei tarvita.

Vaihe 4: Tallenna CSV‑asetuksilla

Workbook.save_as_csv() hyväksyy valinnaisen CSVSaveOptions-instanssin toisena argumenttinaan. Luo CSVSaveOptions aspose.cells_foss.csv_handler:stä ja anna se suoraan ohjaamaan vientikäyttäytymistä, kuten valitsemalla ei‑oletusmerkki tai -koodaus.

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)

Kun CSVSaveOptions ei ole annettu, save_as_csv() käyttää kirjaston sisäänrakennettuja oletuksia (pilkkuerotin, UTF-8‑merkistö). Anna options object aina, kun sinun täytyy ohittaa nämä oletukset ohjelmallisesti.

Vaihe 5: Vie tietty laskentataulukko

Kun työkirjassa on useita taulukoita, viedään aktiivinen taulukko. Käytä Workbook.set_active_worksheet() valitaksesi, mikä taulukko viedään ennen tallentamista.

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

Viedäksesi jokaisen taulukon omaan CSV‑tiedostoon, iteroi 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")

Täydellinen esimerkki

Seuraava itsenäinen esimerkki luo työkirjan, täyttää sen esimerkkidatalla ja tallentaa sen sekä tavallisena CSV-tiedostona että puolipisteellä erotettuna CSV-tiedostona.

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.")

Yleiset ongelmat

Tyhjä tulostustiedosto

Jos tulosteen CSV on tyhjä tai sisältää vain tyhjiä rivejä, tarkista, että soluarvot on määritetty ennen save_as_csv()-kutsua. Menetelmä vie aktiivisen laskentataulukon — vahvista, että oikea taulukko on aktiivinen käyttäen workbook.get_active_worksheet().

Koodausongelmat (Rikkinäiset merkit)

Kun avaat CSV:n Excelissä ja näet vioittuneita merkkejä, tarkista viennin aikana käytetty merkistökoodaus. Aspose.Cells FOSS käyttää oletuksena UTF-8‑koodausta; Windowsin Excel saattaa odottaa tavujärjestysmerkkiä (BOM) tunnistaakseen koodauksen oikein. Määritä koodaus CSVSaveOptions-toiminnolla ja anna se save_as_csv():lle.

Monisivuiset työkirjat vievät vain yhden arkin

CSV on yksittäinen taulukkomuoto; vain yksi laskentataulukko voidaan tallentaa per tiedosto. Vie jokainen taulukko erikseen käyttämällä set_active_worksheet(index) kuten vaiheessa 5 on esitetty.

Erotinmerkkiä sisältävät solut

Jos solun arvo sisältää erotinmerkin (esim. pilkku pilkkuerotellussa tulosteessa), Aspose.Cells FOSS lisää automaattisesti lainausmerkit arvon ympärille viennin aikana. Käytä CSVSaveOptions mukauttaaksesi lainauskäyttäytymistä tarvittaessa.

UKK

Kysymys: Tuottaako workbook.save("output.csv") sama tulos kuin save_as_csv()?

Kyllä. Workbook.save() tarkastelee tiedostopäätettä ja delegoi save_as_csv():lle, kun tiedostopääte on .csv. Kutsu save_as_csv() suoraan ja anna CSVSaveOptions‑instanssi, kun sinun täytyy mukauttaa vientiä sisäänrakennettujen oletusten lisäksi.

Q: Voinko viedä CSV‑merkkijonona tiedoston sijaan?

Kyllä. Käytä CSVHandler.save_csv_to_string(workbook, options) aspose.cells_foss.csv_handler:stä. Tämä palauttaa CSV-sisällön Python‑merkkijonona, jonka voit kirjoittaa virtaan, ladata tai käsitellä edelleen koskematta tiedostojärjestelmään.

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: Kuinka lataan CSV:n takaisin työkirjaan tallentamisen jälkeen?

Käytä Workbook.load_csv("file.csv") olemassa olevaan Workbook-instanssiin, tai kutsu kätevyyttä tarjoavaa funktiota load_csv_workbook("file.csv") aspose.cells_foss.csv_handler:stä saadaksesi käyttövalmiin työkirjan yhdessä vaiheessa.

K: Mitä Python‑versioita tuetaan?

Aspose.Cells FOSS vaatii Python 3.7:n tai uudemman. CSV-vientiin ei tarvita lisäisiä natiivisia laajennuksia; kirjasto on puhdas Python.

Q: Voinko tallentaa vain osan laskentataulukosta (solualue) CSV-muodossa?

Aspose.Cells FOSS vie aktiivisen työkirjan taulukon täyden käytetyn alueen. Jos haluat rajoittaa tulosteen tiettyyn alueeseen, kopioi halutut solut väliaikaiseen työkirjaan ja vie kyseinen työkirja.

Katso myös

 Suomi