Jak uložit tabulky jako CSV v Pythonu

Jak uložit tabulky jako CSV v Pythonu

Problémy

Uložte Excelovou pracovní knihu (.xlsx) jako soubor CSV pomocí Aspose.Cells FOSS v Python. Nahrát pracovničku s Workbook(), tak zavolej . save_as_csv() k zapsat aktivní pracovní list do souboru hodnot oddělených přepínačkami. Možně přešlete CSVSaveOptions objektem pro ovládání delimiteru, kódování a citovacího chování.

Předpoklady

Chcete-li uložit tabulky jako CSV pomocí Aspose.Cells FOSS v Pythonu, ujistěte se, že vaše prostředí splňuje následující požadavky.

  • Python 3.7 nebo novější nainstalovaný.
  • Instalace Aspose.Cells FOSS prostřednictvím pip install aspose-cells-foss>=26.3.1
  • Import knihovny pomocí: from aspose.cells_foss import Workbook
  • Základní znalost s Pythonem pro zpracování souborů

Záchranné kroky

Krok 1: Nainstalujte knihovnu

Instalace Aspose.Cells FOSS z PyPI. Pro použití Fossu není nutný žádný licenční soubor.

pip install aspose-cells-foss

Krok 2: Nahrát pracovní knihu

Zobrazit Workbook s cestou k existujícímu .xlsx Konstruktor přijímá volitelné password parametry pro chráněné pracovní knihy.

from aspose.cells_foss import Workbook

workbook = Workbook("input.xlsx")

Chcete-li pracovat s novou pracovní knihou, vynechte cestu souboru:

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

Krok 3: Ulož aktivní list jako CSV

Zavolej . Workbook.save_as_csv() Metody se stvořily pro použití metodiky “Skyťování” (společnost).

workbook.save_as_csv("output.csv")

Alternativně použijte generický lék. Workbook.save() metoda Aspose.Cells FOSS odvodí formát CSV z .csv prodloužení:

workbook.save("output.csv")

Obě volání produkují stejný výstup, když nejsou potřebné žádné vlastní možnosti.

Krok 4: Uložení pomocí CSV možností

Workbook.save_as_csv() přijímá volitelné CSVSaveOptions V tomto případě je třeba stanovit, že se jedná o první příklad jako druhý argument. CSVSaveOptions od: aspose.cells_foss.csv_handler a přenést ji přímo k kontrole vývozu, například při volbě nepredvolené hraniční značky nebo kódování.

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)

Když ne. CSVSaveOptions je schválen, save_as_csv() Používá vestavěné výchozí nastavení knihovny (delimitér komasy, kódování UTF-8). Přejměte objekt možnosti kdykoliv budete potřebovat programově přehlédnout tyto výběry.

Krok 5: Exportovat konkrétní pracovní list

Pokud pracovní kniha obsahuje více listů, aktivní list je exportován. Použijte Workbook.set_active_worksheet() před ukládáním vybrat, který list exportovat.

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

Exportovat každý list do svého vlastního souboru CSV, iterát přes 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")

Kompletní příklad

Následující samostatný příklad vytváří pracovní knihu, vyplňuje ji vzorovými údaji a ukládá jako standardní CSV i jako semikolonově ohraničený 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.")

Obvyklé problémy

Prázdný výstupní soubor

Pokud je výstupní CSV prázdný nebo obsahuje pouze prázdné řádky, ověřte, zda byly před voláním přiděleny hodnoty buněk. save_as_csv(). Metoda exportuje aktivní pracovní list potvrdit , že je správný list aktivny pomocí workbook.get_active_worksheet().

Problémy s kódováním (zmatené znaky)

Při otevírání CSV v Excelu a vidění poškozených znaků ověřte kódování používané při exportu. Aspose.Cells FOSS je standardně UTF-8; Excel na Windows může očekávat, že značka BOM (byte-order mark) bude kódovat správně. Konfigurujte kódovací prostřednictvím CSVSaveOptions a předat to… save_as_csv().

Pracovní knihy s více listy Exportujte pouze jeden list

CSV je formát s jednou tabulkou; každý soubor může být uložen pouze jeden pracovní list. Exportujte každý list samostatně pomocí set_active_worksheet(index) jak je znázorněno v kroku 5.

Buňky obsahující rozlišovač

Pokud hodnota buňky obsahuje znak delimátor (např. přerušující čárka v výstupu s omezenou předušovkou), Aspose.Cells FOSS automaticky uvede hodnotu během exportu. Použijte CSVSaveOptions v případě potřeby přizpůsobit chování při nabíjení cen.

FAQ

Otázka: Ano? workbook.save("output.csv") Výsledek je stejný jako u: save_as_csv()?

  • Ano, jsem. Workbook.save() Kontroluje rozšíření souboru a pověřuje k tomu, aby se save_as_csv() pokud je prodloužení .csv.Zavolej . save_as_csv() přímo a předat CSVSaveOptions Příkladem je, když potřebujete přizpůsobit export nad rámec vestavěných standardních parametrů.

Otázka: Můžu exportovat do řetězce CSV místo souboru?

Ano, použijte. CSVHandler.save_csv_to_string(workbook, options) od: aspose.cells_foss.csv_handler. To vrací obsah CSV jako Python string, který můžete zapsat, nahrát nebo dále zpracovat bez dotýkání souborového systému.

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)

Otázka: Jak nahrát CSV zpět do pracovní knihy po uložení?

Použití: Workbook.load_csv("file.csv") na stávající Workbook Příklad, nebo volání funkce pohodlí load_csv_workbook("file.csv") od: aspose.cells_foss.csv_handler aby se vám podařilo dostat k dispozici užitečný pracovní blok v jednom kroku.

Otázka: Jaké verze Pythonu jsou podporovány?

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

Otázka: Mohu uložit pouze část pracovního listu (rozsah buněk) jako 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.

Viz také:

 Čeština