Πώς να αποθηκεύσετε τα υπολογιστικά φύλλα ως CSV στην Python
Πρόβλημα
Αποθηκεύστε ένα βιβλίο εργασίας Excel (.xlsx) ως αρχείο CSV χρησιμοποιώντας το Aspose.Cells FOSS σε Python. Φορτώστε το βιβλίο εργασίας με Workbook(), στη συνέχεια καλέστε save_as_csv() για να γράψετε το ενεργό φύλλο εργασίας σε αρχείο τιμών διαχωρισμένων με κόμμα. Προαιρετικά περάστε ένα αντικείμενο CSVSaveOptions για να ελέγξετε το διαχωριστικό, την κωδικοποίηση και τη συμπεριφορά των εισαγωγικών.
Προαπαιτούμενα
Για να αποθηκεύσετε τα υπολογιστικά φύλλα ως CSV χρησιμοποιώντας το Aspose.Cells FOSS σε Python, βεβαιωθείτε ότι το περιβάλλον σας πληροί τις ακόλουθες απαιτήσεις.
- Python 3.7 ή νεότερη εγκατεστημένη
- Εγκαταστήστε το Aspose.Cells FOSS μέσω
pip install aspose-cells-foss>=26.3.1 - Εισάγετε τη βιβλιοθήκη χρησιμοποιώντας
from aspose.cells_foss import Workbook - Βασική εξοικείωση με τη διαχείριση αρχείων Python
Βήματα αποθήκευσης
Βήμα 1: Εγκατάσταση της βιβλιοθήκης
Εγκαταστήστε το Aspose.Cells FOSS από το PyPI. Δεν απαιτείται αρχείο άδειας για χρήση FOSS.
pip install aspose-cells-fossΒήμα 2: Φόρτωση του βιβλίου εργασίας
Δημιουργήστε ένα αντικείμενο Workbook με τη διαδρομή προς ένα υπάρχον αρχείο .xlsx. Ο κατασκευαστής δέχεται προαιρετική παράμετρο password για προστατευμένα βιβλία εργασίας.
from aspose.cells_foss import Workbook
workbook = Workbook("input.xlsx")Για να εργαστείτε με ένα ολοκαίνουργιο βιβλίο εργασίας αντί αυτού, παραλείψτε τη διαδρομή του αρχείου:
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Βήμα 3: Αποθήκευση του ενεργού φύλλου ως CSV
Καλέστε Workbook.save_as_csv() με τη ζητούμενη διαδρομή εξόδου. Η μέθοδος γράφει το πρώτο (ενεργό) φύλλο εργασίας εξ ορισμού.
workbook.save_as_csv("output.csv")Εναλλακτικά, χρησιμοποιήστε τη γενική μέθοδο Workbook.save() — το Aspose.Cells FOSS ανιχνεύει τη μορφή CSV από την επέκταση .csv:
workbook.save("output.csv")Και οι δύο κλήσεις παράγουν ταυτόσημο αποτέλεσμα όταν δεν απαιτούνται προσαρμοσμένες επιλογές.
Βήμα 4: Αποθήκευση με επιλογές CSV
Workbook.save_as_csv() δέχεται μια προαιρετική παρουσία CSVSaveOptions ως δεύτερο όρισμα. Δημιουργήστε μια παρουσία CSVSaveOptions από aspose.cells_foss.csv_handler και περάστε την απευθείας για να ελέγξετε τη συμπεριφορά εξαγωγής, όπως η επιλογή μη προεπιλεγμένου οριοθέτη ή κωδικοποίησης.
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)Όταν δεν παρέχεται CSVSaveOptions, το save_as_csv() χρησιμοποιεί τις ενσωματωμένες προεπιλογές της βιβλιοθήκης (διαχωριστικό κόμμα, κωδικοποίηση UTF-8). Περνάτε το αντικείμενο επιλογών όποτε χρειάζεται να παρακάμψετε αυτές τις προεπιλογές προγραμματιστικά.
Βήμα 5: Εξαγωγή συγκεκριμένου φύλλου εργασίας
Όταν ένα βιβλίο εργασίας περιέχει πολλαπλά φύλλα, εξάγεται το ενεργό φύλλο. Χρησιμοποιήστε Workbook.set_active_worksheet() για να επιλέξετε ποιο φύλλο θα εξαχθεί πριν από την αποθήκευση.
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")Για να εξάγετε κάθε φύλλο σε δικό του αρχείο CSV, επαναλάβετε πάνω στο 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")Πλήρες Παράδειγμα
Το παρακάτω αυτόνομο παράδειγμα δημιουργεί ένα βιβλίο εργασίας, το γεμίζει με δείγμα δεδομένων και το αποθηκεύει τόσο ως τυπικό CSV όσο και ως 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.")Κοινά προβλήματα
Κενό Αρχείο Εξόδου
Εάν το αρχείο CSV εξόδου είναι κενό ή περιέχει μόνο κενές γραμμές, επαληθεύστε ότι οι τιμές των κελιών έχουν εκχωρηθεί πριν καλέσετε save_as_csv(). Η μέθοδος εξάγει το ενεργό φύλλο εργασίας — επιβεβαιώστε ότι το σωστό φύλλο είναι ενεργό χρησιμοποιώντας workbook.get_active_worksheet().
Προβλήματα Κωδικοποίησης (Παραμορφωμένοι Χαρακτήρες)
Κατά το άνοιγμα ενός CSV στο Excel και την εμφάνιση κατεστραμμένων χαρακτήρων, ελέγξτε την κωδικοποίηση που χρησιμοποιήθηκε κατά την εξαγωγή. Το Aspose.Cells FOSS προεπιλέγει UTF-8· το Excel στα Windows μπορεί να αναμένει ένα byte‑order mark (BOM) για να αναγνωρίσει σωστά την κωδικοποίηση. Διαμορφώστε την κωδικοποίηση μέσω CSVSaveOptions και περάστε την στο save_as_csv().
Εξαγωγή μόνο ενός φύλλου από βιβλία εργασίας πολλαπλών φύλλων
Το CSV είναι μορφή μονής πίνακα· μόνο ένα φύλλο εργασίας μπορεί να αποθηκευτεί ανά αρχείο. Εξάγετε κάθε φύλλο ξεχωριστά χρησιμοποιώντας set_active_worksheet(index) όπως φαίνεται στο Βήμα 5.
Κύτταρα που περιέχουν το διαχωριστικό
Εάν μια τιμή κελιού περιέχει τον χαρακτήρα διαχωριστικού (π.χ., ένα κόμμα σε έξοδο διαχωρισμένο με κόμμα), το Aspose.Cells FOSS προσθέτει αυτόματα εισαγωγικά στην τιμή κατά την εξαγωγή. Χρησιμοποιήστε CSVSaveOptions για να προσαρμόσετε τη συμπεριφορά των εισαγωγικών εάν χρειάζεται.
Συχνές ερωτήσεις
Ε: Παράγει το workbook.save("output.csv") το ίδιο αποτέλεσμα με το save_as_csv();
Ναι. Workbook.save() ελέγχει την επέκταση του αρχείου και αναθέτει στο save_as_csv() όταν η επέκταση είναι .csv. Καλέστε το save_as_csv() απευθείας και περάστε μια παρουσία CSVSaveOptions όταν χρειάζεται να προσαρμόσετε την εξαγωγή πέρα από τις ενσωματωμένες προεπιλογές.
Ε: Μπορώ να εξάγω σε συμβολοσειρά CSV αντί για αρχείο;
Ναι. Χρησιμοποιήστε CSVHandler.save_csv_to_string(workbook, options) από aspose.cells_foss.csv_handler. Αυτό επιστρέφει το περιεχόμενο CSV ως συμβολοσειρά Python, την οποία μπορείτε να γράψετε σε ροή, να ανεβάσετε ή να επεξεργαστείτε περαιτέρω χωρίς να αγγίξετε το σύστημα αρχείων.
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)Ε: Πώς μπορώ να φορτώσω ένα CSV ξανά σε ένα βιβλίο εργασίας μετά την αποθήκευση;
Χρησιμοποιήστε Workbook.load_csv("file.csv") σε μια υπάρχουσα Workbook παρουσία, ή καλέστε τη λειτουργία ευκολίας load_csv_workbook("file.csv") από aspose.cells_foss.csv_handler για να λάβετε ένα έτοιμο προς χρήση βιβλίο εργασίας σε ένα βήμα.
Q: Ποιες εκδόσεις της Python υποστηρίζονται;
Το Aspose.Cells FOSS απαιτεί Python 3.7 ή νεότερη έκδοση. Δεν απαιτούνται πρόσθετες εγγενείς επεκτάσεις για εξαγωγή CSV· η βιβλιοθήκη είναι καθαρά Python.
Ε: Μπορώ να αποθηκεύσω μόνο ένα μέρος ενός φύλλου εργασίας (μια περιοχή κελιών) ως CSV;
Το Aspose.Cells FOSS εξάγει το πλήρες χρησιμοποιημένο εύρος του ενεργού φύλλου εργασίας. Για να περιορίσετε την έξοδο σε συγκεκριμένο εύρος, αντιγράψτε τα επιθυμητά κελιά σε ένα προσωρινό βιβλίο εργασίας και εξάγετε αυτό το βιβλίο εργασίας.
Δείτε επίσης
- How to Save Files with Aspose.Cells FOSS — γενική επισκόπηση αποθήκευσης που καλύπτει XLSX και Markdown
- How to Convert CSV to JSON in Python — φόρτωση CSV και εξαγωγή σε μορφή JSON
- How to Export Excel to Markdown in Python — εξαγωγή πίνακα Markdown χρησιμοποιώντας
save_as_markdown() - Aspose.Cells FOSS for Python: Developer Guide — εκτενής τεκμηρίωση λειτουργιών
- API Reference —
Workbook,CSVHandler,CSVSaveOptions