Hogyan mentsük a táblázatokat CSV formátumban Pythonban
Probléma
Mentse az Excel-munkafüzetet (.xlsx) CSV-fájlként az Aspose.Cells FOSS segítségével Pythonban. Töltse be a munkafüzetet a Workbook() segítségével, majd hívja meg a save_as_csv() metódust az aktív munkalap vesszővel elválasztott értékfájlba írásához. Opcionálisan adjon át egy CSVSaveOptions objektumot az elválasztó, a kódolás és az idézőjeles viselkedés vezérléséhez.
Előfeltételek
A táblázatok CSV-ként való mentéséhez az Aspose.Cells FOSS segítségével Pythonban győződjön meg arról, hogy a környezete megfelel az alábbi követelményeknek.
- Python 3.7 vagy újabb telepítve
- Telepítse az Aspose.Cells FOSS-t a
pip install aspose-cells-foss>=26.3.1segítségével - Importálja a könyvtárat a
from aspose.cells_foss import Workbookparanccsal - Alapvető Python fájlkezelési ismeretek
Mentési lépések
1. lépés: A könyvtár telepítése
Telepítse az Aspose.Cells FOSS-t a PyPI-ről. FOSS használathoz nincs szükség licencfájlra.
pip install aspose-cells-foss2. lépés: A munkafüzet betöltése
Hozzon létre Workbook példányt egy meglévő .xlsx fájl elérési útjával. A konstruktor opcionális password paramétert fogad el a védett munkafüzetekhez.
from aspose.cells_foss import Workbook
workbook = Workbook("input.xlsx")Teljesen új munkafüzettel való munkához hagyja el a fájl elérési útját:
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.953. lépés: Az aktív lap mentése CSV-ként
Hívja meg a Workbook.save_as_csv() metódust a kívánt kimeneti elérési úttal. A metódus alapértelmezés szerint az első (aktív) munkalapot írja.
workbook.save_as_csv("output.csv")Alternatívaként használja az általános Workbook.save() metódust — az Aspose.Cells FOSS a .csv kiterjesztésből következtet a CSV formátumra:
workbook.save("output.csv")Mindkét hívás azonos kimenetet produkál, ha nincs szükség egyéni beállításokra.
4. lépés: Mentés CSV beállításokkal
A Workbook.save_as_csv() opcionális CSVSaveOptions példányt fogad el második argumentumként. Hozzon létre CSVSaveOptions példányt az aspose.cells_foss.csv_handler modulból, és adja át közvetlenül az exportálási viselkedés vezérléséhez, például nem alapértelmezett elválasztó vagy kódolás kiválasztásához.
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)Ha nem adunk át CSVSaveOptions objektumot, a save_as_csv() a könyvtár beépített alapértelmezéseit használja (vesszős elválasztó, UTF-8 kódolás). Adja át a beállítások objektumot, amikor programozottan felül kell írni ezeket az alapértelmezéseket.
5. lépés: Egy adott munkalap exportálása
Ha a munkafüzet több lapot tartalmaz, az aktív lap kerül exportálásra. Használja a Workbook.set_active_worksheet() metódust az exportálandó lap kiválasztásához mentés előtt.
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")Minden lap saját CSV-fájlba való exportálásához iteráljon a workbook.worksheets gyűjteményen:
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")Teljes példa
A következő önálló példa létrehoz egy munkafüzetet, feltölti mintaadatokkal, és elmenti mind szabványos CSV-ként, mind pontosvesszővel elválasztott CSV-ként.
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.")Gyakori problémák
Üres kimeneti fájl
Ha a kimeneti CSV üres vagy csak üres sorokat tartalmaz, ellenőrizze, hogy a cellaértékek a save_as_csv() hívása előtt lettek-e hozzárendelve. A metódus az aktív munkalapot exportálja — ellenőrizze, hogy a megfelelő lap aktív-e a workbook.get_active_worksheet() segítségével.
Kódolási problémák (olvashatatlan karakterek)
Ha Excelben megnyitott CSV-ben sérült karaktereket lát, ellenőrizze az exportáláskor használt kódolást. Az Aspose.Cells FOSS alapértelmezés szerint UTF-8-at használ; az Excel Windows rendszeren bájtsorrendjelet (BOM) várhat a kódolás helyes felismeréséhez. Konfigurálja a kódolást a CSVSaveOptions segítségével, és adja át a save_as_csv() metódusnak.
A több lapból álló munkafüzetek csak egy lapot exportálnak
A CSV egytáblás formátum; fájlonként csak egy munkalap menthető. Exportálja az egyes lapokat egyenként a set_active_worksheet(index) segítségével, ahogy az 5. lépésben látható.
Az elválasztót tartalmazó cellák
Ha egy cellaérték tartalmazza az elválasztó karaktert (pl. vesszőt vesszővel elválasztott kimenetben), az Aspose.Cells FOSS automatikusan idézőjelbe teszi az értéket exportáláskor. Használja a CSVSaveOptions objektumot az idézőjeles viselkedés testreszabásához, ha szükséges.
Gyakran ismételt kérdések
K: A workbook.save("output.csv") ugyanolyan eredményt produkál-e, mint a save_as_csv()?
Igen. A Workbook.save() megvizsgálja a fájlkiterjesztést, és a save_as_csv() metódusra delegál, ha a kiterjesztés .csv. Hívja meg közvetlenül a save_as_csv() metódust, és adjon át CSVSaveOptions példányt, ha az exportálást a beépített alapértelmezéseken túl is testreszabja.
K: Exportálhatok CSV-karakterláncba fájl helyett?
Igen. Használja a CSVHandler.save_csv_to_string(workbook, options) metódust az aspose.cells_foss.csv_handler modulból. Ez Python-karakterláncként adja vissza a CSV-tartalmat, amelyet streambe írhat, feltölthet vagy tovább feldolgozhat a fájlrendszer érintése nélkül.
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)K: Hogyan tölthetek vissza egy CSV-t a munkafüzetbe mentés után?
Használja a Workbook.load_csv("file.csv") metódust egy meglévő Workbook példányon, vagy hívja meg a load_csv_workbook("file.csv") kényelmi függvényt az aspose.cells_foss.csv_handler modulból, hogy egy lépésben kapjon egy használatra kész munkafüzetet.
K: Mely Python verziók támogatottak?
Az Aspose.Cells FOSS Python 3.7 vagy újabb verziót igényel. A CSV-exportáláshoz nincs szükség további natív kiterjesztésekre; a könyvtár tiszta Python.
K: Menthetem-e csak egy munkalap egy részét (cellatartomány) CSV-ként?
Az Aspose.Cells FOSS az aktív munkalap teljes használt tartományát exportálja. A kimenet egy adott tartományra való korlátozásához másolja a kívánt cellákat egy ideiglenes munkafüzetbe, és exportálja azt a munkafüzetet.
Lásd még
- Fájlok mentése az Aspose.Cells FOSS segítségével — általános mentési áttekintés, amely lefedi az XLSX-et és a Markdownt
- CSV konvertálása JSON-ra Pythonban — CSV betöltése és exportálása JSON formátumba
- Excel exportálása Markdownba Pythonban — Markdown táblázatexportálás a
save_as_markdown()segítségével - Aspose.Cells FOSS Pythonhoz: Fejlesztői útmutató — átfogó funkciódokumentáció
- API-referencia —
Workbook,CSVHandler,CSVSaveOptions