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-fossVaihe 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.95Vaihe 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
- Kuinka tallentaa tiedostoja Aspose.Cells FOSS:lla — yleinen tallennusyleiskatsaus, joka kattaa XLSX:n ja Markdownin
- Kuinka muuntaa CSV JSON:ksi Pythonissa — lataa CSV ja vie JSON-muotoon
- Kuinka viedä Excel Markdowniin Pythonissa — Markdown-taulukon vienti käyttäen
save_as_markdown() - Aspose.Cells FOSS for Python: Kehittäjän opas — kattava ominaisuusdokumentaatio
- API-viite —
Workbook,CSVHandler,CSVSaveOptions