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-fossTrin 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.95Trin 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 enCSVSaveOptionsEksport 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å:
- Hvordan man gemmer filer med Aspose.Cells FOSS Generel oversigt over opsparinger, der dækker XLSX og Markdown
- Hvordan konverterer man CSV til JSON i Python? indlæse CSV og eksportere til JSON-format
- Hvordan eksporterer man Excel til Markdown i Python? Markeringstabel eksport med anvendelse af
save_as_markdown() - Aspose.Cells FOSS for Python: Developer Guide omfattende dokumentation for de særlige funktioner
- API-reference —
Workbook,CSVHandler,CSVSaveOptions