Hvordan man gemmer regneark som CSV i Python

Hvordan man gemmer regneark som CSV i Python

Problemet er:

Gem en Excel-arbejdsbog (.xlsx) som CSV fil ved hjælp af Aspose.Cells FOSS i Python. Lade arbejdsmappen med Workbook(),Så ring. save_as_csv() at skrive det aktive regneark til en komma-opdelt værdifil. Muligvis skal du sende et CSVSaveOptions Objektet til at kontrollere afgrænsnings-, kodning- og citatadfærd.

Forudsætninger

Hvis du vil gemme regneark som CSV ved hjælp af Aspose.Cells FOSS i Python, skal du sikre dig at dit miljø opfylder følgende krav.

  • Python 3.7 eller nyere installeret
  • Installer Aspose.Cells FOSS via pip install aspose-cells-foss>=26.3.1
  • Import af biblioteket ved hjælp af: from aspose.cells_foss import Workbook
  • Grundlæggende kendskab til Python-filhåndtering

Besparelser

Trin 1: Installer biblioteket

Installer Aspose.Cells FOSS fra PyPI. Der kræves ingen licensfil til brug af Foss.

pip install aspose-cells-foss

Trin 2: Indlæse arbejdsmappen

Instantieret Workbook med vejen til en eksisterende .xlsx Konstruktoren accepterer en valgfri password parametre for beskyttede arbejdsbøger.

from aspose.cells_foss import Workbook

workbook = Workbook("input.xlsx")

Hvis du vil arbejde med en helt ny arbejdsbog, skal du udelade filvejen:

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

Trin 3: Gem det aktive ark som CSV-fil

Ring til mig. Workbook.save_as_csv() Metoden skriver det første (aktive) regneark som standard.

workbook.save_as_csv("output.csv")

Alternativt kan du bruge det generiske lægemiddel. Workbook.save() Metode Aspose.Cells FOSS udleder CSV-formatet fra den .csv forlængelse:

workbook.save("output.csv")

Begge opkald producerer identisk output, når der ikke er behov for brugerdefinerede muligheder.

Trin 4: Gem med CSV-indstillinger

Workbook.save_as_csv() accepterer en valgfri CSVSaveOptions Det er ikke tilfældet, at der i den forbindelse skal tages hensyn til de forskellige aspekter af det pågældende spørgsmål. CSVSaveOptions fra og med: aspose.cells_foss.csv_handler og videregive den direkte til kontrol med eksportadfærd, f.eks. ved at vælge en ikke-standard afgrænsning eller kodning.

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)

Når der ikke er nogen CSVSaveOptions er godkendt, save_as_csv() bruger bibliotekets indbyggede standardindstillinger (komma-afgrænsning, UTF-8 kodning). Passer opsætningsobjektet når du har brug for at overskrive disse standardinstruktioner programmatisk.

Trin 5: Eksporter et bestemt regneark

Når en arbejdsbog indeholder flere ark, eksporteres det aktive ark. Brug Workbook.set_active_worksheet() at vælge hvilket ark der skal eksporteres, før det gemmes.

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

For at eksportere hvert ark til sin egen CSV-fil, gentages over 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")

Fuldstændigt eksempel

Følgende selvstændige eksempel opretter en arbejdsbog, fylder den med prøveoplysninger og gemmer den både som et standard CSV og som en semikolon-afgrænset CS V.

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

Almindelige problemer

Udeladte outputfil

Hvis udgang CSV er tom eller kun indeholder blanke linjer, skal du kontrollere at celleværdier blev tildelt før opkald. save_as_csv().Metoden eksporterer det aktive regneark bekræfter, at det korrekte regnearks er aktivt ved hjælp af workbook.get_active_worksheet().

Kodningsproblemer (forvirrede tegn)

Når du åbner en CSV i Excel og ser beskadigede tegn, skal du kontrollere den kodning der blev brugt under eksport. Aspose.Cells FOSS er standard til UTF-8; Excel på Windows kan forvente et byte-ordermærke (BOM) for at genkende kodningen korrekt. Konfigurer koding via CSVSaveOptions og videregive det til: save_as_csv().

Arbejdsbøger med flere ark Eksporter kun ét ark

CSV er et format med én tabel; kun ét regneark kan gemmes pr. fil. Eksporter hvert ark individuelt ved hjælp af set_active_worksheet(index) som vist i trin 5.

Celler med afgrænsningsmærket

Hvis en celleværdi indeholder afgrænsningstegnet (f.eks. et komma i udgangen med komma) angives værdien automatisk ved eksport. Brug CSVSaveOptions at tilpasse tilbudsføringen, hvis det er nødvendigt.

FAQ

Spørgsmål: Er det? workbook.save("output.csv") giver samme resultat som save_as_csv()?

  • Ja, det er jeg. Workbook.save() Den nationale myndighed skal kontrollere, om der er tale om en udvidelse af filen. save_as_csv() når forlængelsen er afsluttet. .csv.Ring til mig. save_as_csv() direkte og passerer en CSVSaveOptions Eksport kan være et eksempel, når du skal tilpasse eksporten ud over de indbyggede standardindstillinger.

Spørgsmål: Kan jeg eksportere til en CSV-string i stedet for en fil?

Ja, brug det. CSVHandler.save_csv_to_string(workbook, options) fra og med: aspose.cells_foss.csv_handler.Dette returnerer CSV-indholdet som en Python-string, som du kan logge op eller viderearbejde uden at røre ved filsystemet.

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)

Spørgsmål: Hvordan kan jeg indlæse en CSV tilbage i en arbejdsbog efter at have gemt den?

Anvendelse: Workbook.load_csv("file.csv") på en eksisterende Workbook eller kalde den bekvemme funktion load_csv_workbook("file.csv") fra og med: aspose.cells_foss.csv_handler at få en brugsfri arbejdsbog på ét skridt.

Spørgsmål: Hvilke Python-versioner understøttes?

Aspose.Cells FOSS requires Python 3.7 or later. No additional native extensions are needed for CSV export; the library is pure Python.

Spørgsmål: Kan jeg kun gemme en del af et regneark (et celleområde) som CSV?

Aspose.Cells FOSS exports the full used range of the active worksheet. To restrict output to a specific range, copy the desired cells into a temporary workbook and export that workbook.

Se også:

 Dansk