Wie man Tabellen als CSV in Python speichert

Wie man Tabellen als CSV in Python speichert

Problem mit der

Speichern Sie eine Excel-Arbeitsmappe (.xlsx) als CSV-Datei mit Aspose.Cells FOSS in Python. Laden Sie die Arbeitsmappen mit Workbook(),Dann ruf an . save_as_csv() Um das aktive Arbeitsblatt in eine durch Komma getrennte Wertedatei zu schreiben. Optional geben Sie ein CSVSaveOptions Objekt zur Steuerung des Abgrenzungs-, Codierungs- und Zitatverhaltens.

Voraussetzungen für die Durchführung der Maßnahmen

Um Tabellen als CSV mit Aspose.Cells FOSS in Python zu speichern, stellen Sie sicher, dass Ihre Umgebung die folgenden Anforderungen erfüllt.

  • Python 3.7 oder neuer installiert
  • Installieren Sie Aspose.Cells FOSS über pip install aspose-cells-foss>=26.3.1
  • Importieren der Bibliothek unter Verwendung von: from aspose.cells_foss import Workbook
  • Grundlegende Kenntnisse im Python-Dateiverarbeitungssystem

Einsparungsmaßnahmen

Schritt 1: Installieren der Bibliothek

Installieren Sie Aspose.Cells FOSS von PyPI. Für die Verwendung von Foss ist keine Lizenzdatei erforderlich.

pip install aspose-cells-foss

Schritt 2: Laden Sie das Arbeitsbuch ein

Instanzialisierung Workbook mit dem Weg zu einem vorhandenen .xlsx Die Konstruktion akzeptiert eine optionale password Parameter für geschützte Arbeitsmappen.

from aspose.cells_foss import Workbook

workbook = Workbook("input.xlsx")

Um stattdessen mit einer brandneuen Arbeitsmappe zu arbeiten, lassen Sie den Pfad der Datei aus:

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

Schritt 3: Speichern Sie das aktive Blatt als CSV-Datei .

Rufen Sie an . Workbook.save_as_csv() Die Methode schreibt standardmäßig das erste (aktive) Arbeitsblatt.

workbook.save_as_csv("output.csv")

Alternativ kann das generische Medikament verwendet werden. Workbook.save() Methode Aspose.Cells FOSS zieht das CSV-Format aus dem .csv Verlängerung:

workbook.save("output.csv")

Beide Aufrufe erzeugen identische Ausgänge, wenn keine benutzerdefinierten Optionen erforderlich sind.

Schritt 4: Speichern mit CSV-Optionen

Workbook.save_as_csv() Akzeptiert eine optionale CSVSaveOptions Die Kommission hat die Frage des Verfahrens in der zweiten Lesung eingegangen. CSVSaveOptions von aspose.cells_foss.csv_handler und direkt zur Kontrolle des Exportverhaltens, wie z. B. der Wahl eines nicht standardmäßigen Abgrenzungs- oder Codierungsmittels, weitergeben.

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)

Wenn nicht CSVSaveOptions ist bestanden, save_as_csv() Verwenden Sie die eingebauten Standardvorgaben der Bibliothek (Komma-Delimiter, UTF-8-Codierung). Übergeben Sie das Optionsobjekt immer dann, wenn Sie diese Standardeinstellungen programmatisch überschreiben müssen.

Schritt 5: Exportieren eines spezifischen Arbeitsblattes

Wenn ein Arbeitsbuch mehrere Blätter enthält, wird das aktive Blatt exportiert. Workbook.set_active_worksheet() Auswahl der zu exportierenden Karte vor dem Speichern.

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

Um jedes Blatt in seine eigene CSV-Datei zu exportieren, iterate über 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")

Vollständiges Beispiel

Das folgende selbstständige Beispiel erstellt ein Arbeitsbuch, füllt es mit Beispieldaten und speichert es sowohl als Standard-CSV als auch als Semikolon abgegrenztes 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.")

Häufige Probleme

Leere Ausgabedatei

Wenn die Ausgabe CSV leer ist oder nur leere Zeilen enthält, überprüfen Sie vor dem Aufruf, ob Zellwerte zugewiesen wurden. save_as_csv().Die Methode exportiert das aktive Arbeitsblatt bestätigen Sie, dass das richtige Blatt aktiv ist mit Hilfe der workbook.get_active_worksheet().

Verschlüsselungsprobleme (verwirrte Zeichen)

Wenn Sie in Excel ein CSV öffnen und beschädigte Zeichen sehen, überprüfen Sie die beim Export verwendete Codierung. Aspose.Cells FOSS ist standardmäßig UTF-8; Excel unter Windows kann erwarten, dass eine BOM (Byte-Ordermark) die Coding korrekt erkennt. Konfigurieren Sie das Coden über CSVSaveOptions und geben Sie es an: save_as_csv().

Mehrblatt-Arbeitsmappen Exportieren Sie nur ein Blatt

CSV ist ein Einzeltabellenformat; pro Datei kann nur eine Arbeitsfläche gespeichert werden. Exportieren Sie jede Flächen einzeln mit der Verwendung von set_active_worksheet(index) wie in Schritt 5 dargestellt.

Zellen, die den Abgrenzer enthalten

Wenn ein Zellwert das Abgrenzungszeichen enthält (z. B. ein Komma in der Ausgabe mit einem Kommaschnitt), zitiert FOSS den Wert automatisch während des Exports. Verwenden CSVSaveOptions die Anpassung des Kotierungsverhaltens, falls erforderlich.

FAQ

F: Ist es so? workbook.save("output.csv") die gleiche Wirkung wie save_as_csv()?

  • Ja, das ist gut. Workbook.save() Die Kommission hat die Erweiterung der Dateien überprüft und den save_as_csv() wenn die Verlängerung erfolgt. .csv.- Rufen Sie an . save_as_csv() direkt und eine CSVSaveOptions Beispiel, wenn Sie den Export über die eingebauten Standardeinstellungen hinaus anpassen müssen.

F: Kann ich in einen CSV-String statt einer Datei exportieren?

Ja, benutzen. CSVHandler.save_csv_to_string(workbook, options) von aspose.cells_foss.csv_handler. Das gibt den CSV-Inhalt als Python-String zurück, die Sie protokollieren, hochladen oder weiterverarbeiten können, ohne das Dateisystem zu berühren.

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)

F: Wie laden ich eine CSV nach dem Speichern wieder in ein Arbeitsbuch?

Verwendung Workbook.load_csv("file.csv") auf eine bestehende Workbook Instanz, oder die Komfortfunktion aufrufen load_csv_workbook("file.csv") von aspose.cells_foss.csv_handler Einfach ein einsatzbereites Arbeitsbuch zu bekommen.

F: Welche Python-Versionen werden unterstützt?

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

F: Kann ich nur einen Teil eines Arbeitsblattes (einen Zellbereich) als CSV speichern?

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.

Siehe auch:

 Deutsch