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-fossKrok 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.95Krok 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 sesave_as_csv()pokud je prodloužení.csv.Zavolej .save_as_csv()přímo a předatCSVSaveOptionsPří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é:
- Jak uložit soubory pomocí Aspose.Cells FOSS obecný přehled o úhrady, který se týká XLSX a Markdownu
- Jak konvertujete CSV na JSON v Pythonu? načítání CSV a export do formátu JSON
- Jak exportovat Excel do Markdown v Pythonu Vývoz podle tabulky s odkazem na vývoz
save_as_markdown() - Aspose.Cells FOSS for Python: Developer Guide komplexní dokumentace o funkcích
- Odkaz na API —
Workbook,CSVHandler,CSVSaveOptions