XLSX σε CSV στην Python

Xlsx Se Csv Sten Python



Τα τελευταία χρόνια, η Python έχει αναδειχθεί ως μία από τις κυρίαρχες γλώσσες προγραμματισμού. Η κοινότητα της Python έχει επεκταθεί σημαντικά ως αποτέλεσμα της δημοτικότητας και της χρησιμότητας της Python. Θα αναφερθούμε λεπτομερώς σε αυτό το άρθρο σχετικά με τον τρόπο χρήσης της Python για τη μετατροπή του XLSX σε CSV. Γνωρίζουμε ότι τα αρχεία excel χρησιμοποιούνται συχνά για την εκτέλεση χρηματοοικονομικής ανάλυσης, την οργάνωση των δεδομένων, την εισαγωγή δεδομένων, τη λογιστική, τη διαχείριση δεδομένων, τη δημιουργία γραφημάτων και γραφημάτων κ.λπ. Ωστόσο, προτιμούμε κυρίως να χρησιμοποιούμε αρχεία CSV για εισαγωγή και εξαγωγή δεδομένων. Μια προσέγγιση είναι να μεταφέρετε τα δομημένα δεδομένα χρησιμοποιώντας ένα αρχείο απλού κειμένου.

Τι είναι ένα αρχείο Xslx;

Κατά τη δημιουργία υπολογιστικών φύλλων στις πιο πρόσφατες εκδόσεις του Excel, η Microsoft χρησιμοποιεί ένα αρχείο XLSX ως προεπιλεγμένο τύπο αρχείου. Παρόμοια με τον τύπο αρχείου DOCX του Word, μπορούμε να ανοίξουμε τα αρχεία XLSX χρησιμοποιώντας μια ποικιλία εφαρμογών/προγραμμάτων.

Τι είναι ένα αρχείο CSV;

Η μορφή αρχείου CSV είναι αυτό που μπορούμε να χρησιμοποιήσουμε για να αποθηκεύσουμε τις τιμές των δεδομένων σε πίνακα σε υπολογιστικά φύλλα και βάσεις δεδομένων. Τα δεδομένα πίνακα, κείμενο ή κείμενο, αποθηκεύονται ως απλό κείμενο σε ένα αρχείο CSV. Μια εγγραφή στο αρχείο CSV είναι η τιμή δεδομένων που είναι αποθηκευμένη σε κάθε σειρά του αρχείου. Κάθε εγγραφή μπορεί να έχει περισσότερα από ένα πεδία που χωρίζονται με κόμματα.







Βασικές διαφορές μεταξύ αρχείων XLSX και CSV

Οι χρήστες χρησιμοποιούν συχνά το CSV και το XLSX εναλλακτικά και γενικά δεν γνωρίζουν τις διαφορές μεταξύ τους, ποια είναι τα θεμελιώδη χαρακτηριστικά τους και πώς λειτουργούν. Λειτουργεί μόνο ως πηγή πληροφοριών για τον χρήστη. Σχεδόν κάθε επιχείρηση και εταιρεία χρησιμοποιεί και τα δύο για να βοηθήσει τους χρήστες στη διαχείριση, την ενημέρωση και την αποθήκευση των δεδομένων για τον χρήστη. Ακολουθούν ορισμένες βασικές διαφορές μεταξύ αρχείων XLSX και CSV που πρέπει να γνωρίζετε:



  • Η μορφή CSV αποθηκεύει δεδομένα πίνακα σε ένα αρχείο κειμένου οριοθέτησης με την επέκταση .csv. Ενώ, το αρχείο excel ή XLSX είναι ένα υπολογιστικό φύλλο που αποθηκεύει αρχεία στην ιδιόκτητη μορφή του, δηλαδή. xls ή XLSX.
  • Τα αρχεία Excel είναι δυαδικά αρχεία που περιέχουν τα δεδομένα σε κάθε φύλλο εργασίας ενός βιβλίου εργασίας. Ενώ, το CSV είναι μια απλή και απλή μορφή κειμένου με μια ακολουθία τιμών δεδομένων που χωρίζονται με κόμματα.
  • Οι λειτουργίες δεδομένων δεν μπορούν να πραγματοποιηθούν σε αρχεία CSV. Ωστόσο, μπορούν να πραγματοποιηθούν σε αρχεία Excel.
  • Τα αρχεία CSV είναι πιο γρήγορα και χρησιμοποιούν λιγότερη μνήμη από τα αρχεία XLSX. Ωστόσο, το Excel χρησιμοποιεί περισσότερη μνήμη κατά την εισαγωγή των δεδομένων.
  • Εάν συγκρίνουμε το CSV με το Excel, μπορούμε να ανοίξουμε τα αρχεία CSV σε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου των Windows, ενώ τα αρχεία Excel δεν μπορούν.

Πώς μπορεί ένα αρχείο XLSX να μετατραπεί σε CSV χρησιμοποιώντας Python;

Ένα αρχείο XLSX μπορεί να μετατραπεί σε αρχείο CSV στην Python χρησιμοποιώντας μια ποικιλία μεθόδων. Η Python περιλαμβάνει μια ποικιλία λειτουργιών και λειτουργιών που μπορούν να μας βοηθήσουν να ολοκληρώσουμε αυτήν την εργασία. Εδώ, θα περάσουμε από μερικές μεθόδους που μπορούν να χρησιμοποιηθούν για τη μετατροπή των αρχείων XLSX σε αρχεία CSV στην Python.



Προϋποθέσεις για την εκτέλεση της μετατροπής Excel σε CSV

Η εγκατάσταση των απαιτήσεων είναι το πρώτο βήμα. Σε αυτό το σεμινάριο χρησιμοποιούμε τις ενότητες όπως συνδυασμούς Pandas, CSV και Openpyxl κ.λπ. Το πακέτο Pandas της Python επιτρέπει τον χειρισμό και την ανάλυση δεδομένων. Το Pandas είναι μια πολύ γνωστή βιβλιοθήκη μεταξύ των προγραμματιστών Python. Τα αρχεία Excel μπορούν να διαβαστούν και να γραφτούν χρησιμοποιώντας το πακέτο Python γνωστό ως Openpyxl. Δεν θα ασχοληθούμε απευθείας με αυτήν τη βιβλιοθήκη. Τα πάντα κάνουν χρήση του Openpyxl εσωτερικά.





Χρησιμοποιώντας το αποθετήριο PyPI, μπορούμε να εγκαταστήσουμε και τα δύο πακέτα:

Μέθοδος 1: Μετατροπή XLSX σε CSV χρησιμοποιώντας τη μονάδα Pandas

Παράδειγμα 1: Μετατροπή ενός αρχείου XLSX σε CSV



Το Pandas είναι μια ενότητα ανοιχτού κώδικα που δημιουργήθηκε για τη γλώσσα προγραμματισμού Python για τον χειρισμό και την ανάλυση των δεδομένων. Για να εργαστείτε με χρονοσειρές και αριθμητικούς πίνακες, το Pandas παρέχει μια ποικιλία λειτουργιών και χαρακτηριστικών. Χρησιμοποιώντας panda, τόσο τα μικρά όσο και τα τεράστια σύνολα δεδομένων μπορούν να διαβαστούν, να φιλτραριστούν και να αναδιαταχθούν. Και τα αποτελέσματα μπορούν να παραχθούν σε διάφορες μορφές όπως Excel, JSON και CSV. Χρησιμοποιούμε τη μέθοδο read_excel() των Pandas για να διαβάσουμε ένα αρχείο excel και τη μέθοδο to_csv() για να μετατρέψουμε το DataFrame σε αρχείο CSV.

Εκτυπώνουμε το αρχείο μας .csv ως DataFrame όπως φαίνεται στην έξοδο. Το προηγούμενο σενάριο μετατρέπει το αρχείο XLSX σε CSV και δημιουργεί ένα αρχείο 'salary.csv' στον τρέχοντα κατάλογο.

Παράδειγμα 2: Μετατροπή αρχείου XLSX (με πολλά φύλλα) σε CSV

Στο παράδειγμα που ακολουθεί, διαβάζουμε πρώτα τα ονόματα των φύλλων του αρχείου Excel. Στη συνέχεια, τα ονόματα των μεμονωμένων φύλλων περνούν και αποθηκεύονται ως ξεχωριστά αρχεία CSV. Το σενάριο αποθηκεύει CSV στην ίδια θέση.

Χρησιμοποιούμε ένα δείγμα αρχείου XLSX με δύο ή περισσότερα φύλλα εργασίας ή υπολογιστικά φύλλα.

Όπως φαίνεται, το αρχείο XLSX αποτελείται από δύο φύλλα (sheet1 και sheet2). Τώρα, γράφουμε έναν κώδικα για να μετατρέψουμε αυτό το αρχείο XLSX σε CSV.

Παραγωγή:

Το σενάριο μετέτρεψε με επιτυχία το αρχείο XLSX με δύο φύλλα σε ένα μόνο αρχείο CSV με ένα μόνο φύλλο.

Παράδειγμα 3: Μετατροπή πολλαπλών αρχείων XLSX σε ξεχωριστά αρχεία CSV

Σκεφτείτε ένα σενάριο στο οποίο πρέπει να μετατρέψετε πολλά αρχεία Excel στον κατάλογο εργασίας σας σε CSV. Θα μπορούσατε να χρησιμοποιήσετε αυτή τη μέθοδο. Ξεκινάμε υποθέτοντας ότι κάθε αρχείο περιέχει μόνο ένα φύλλο. Στη συνέχεια, επεκτείνουμε τη μέθοδό μας για να χειριζόμαστε πολλά αρχεία και πολλά φύλλα. Ο κώδικας Python που ακολουθεί κάνει χρήση της τυπικής ενότητας glob. Αντιστοιχίζουμε τις διαδρομές αρχείων χρησιμοποιώντας μοτίβα με το Glob. Ταιριάζει με όλα τα αρχεία με την επέκταση .xlsx στον κατάλογο εργασίας. Μετά από αυτό, αναπτύσσουμε μια συνάρτηση που διαβάζει τα αρχεία Excel και τα αποθηκεύει ως αρχεία CSV. Καλούμε αυτή τη συνάρτηση σε κάθε διαδρομή αρχείου που βρίσκεται.

Αυτό το προηγούμενο σενάριο μετατρέπει όλα τα αρχεία xlsx στον τρέχοντα κατάλογο σε αρχεία CSV.

Τώρα, μετατρέπουμε τα αρχεία XLSX με πολλά υπολογιστικά φύλλα σε CSV. Αυτό είναι πιθανότατα το δύσκολο κομμάτι. Τρία αρχεία Excel βρίσκονται στον κατάλογο εργασίας μας. Επίσης, μερικά από αυτά αποτελούνται από περισσότερα από ένα φύλλα. Στοχεύουμε να:

  1. Δημιουργήστε έναν κατάλογο για κάθε αρχείο υπολογιστικού φύλλου,
  2. Μετατρέψτε τα φύλλα αρχείων excel σε CSV και θα πρέπει να διατηρηθούν στον νέο κατάλογο.

Το σενάριο μετατρέπει το XLSX με μεμονωμένα και πολλαπλά φύλλα σε ξεχωριστά αρχεία CSV και τα αποθηκεύει σε νέους καταλόγους με το ίδιο όνομα.

Για την ανάκτηση κάθε αρχείου Excel που βρίσκεται στον τρέχοντα κατάλογο, χρησιμοποιείται η συνάρτηση glob. Μετά από αυτό, δημιουργούνται φάκελοι για κάθε αρχείο XLSX χρησιμοποιώντας τη συνάρτηση os.mkdir. Στη συνέχεια, δημιουργείται ένα αρχείο CSV για κάθε φύλλο μέσα στον νέο κατάλογο κάνοντας βρόχο πάνω από το όνομα του φύλλου.

Μέθοδος 2: Μετατροπή XLSX σε CSV με χρήση λειτουργικών μονάδων Openpyxl και CSV

Σε αυτήν τη μέθοδο, θα χρησιμοποιήσουμε τις λειτουργικές μονάδες openpyxl και CSV για να μετατρέψουμε τα αρχεία XLSX σε CSV. Για να διαβάσετε και να γράψετε αρχεία xlsx, xlsm, xltx και xltm 2010, μπορεί να χρησιμοποιηθεί η λειτουργική μονάδα Python openpyxl. Η ενότητα CSV περιλαμβάνει κλάσεις που επιτρέπουν την ανάγνωση και τη γραφή πινάκων δεδομένων με μορφοποίηση CSV.

Για να διαβάσουμε ή να φορτώσουμε το αρχείο xlsx, χρησιμοποιούμε τη συνάρτηση load_workbook() της λειτουργικής μονάδας openpyxl. Μπορείτε να χρησιμοποιήσετε αυτήν τη συνάρτηση εάν χρειάζεται να γράψετε ή να διαβάσετε ένα υπάρχον αρχείο XLSX/Excel στην Python. Μετά την ενεργοποίηση του excel, χρησιμοποιούμε τη συνάρτηση csv.writer() για να δημιουργήσουμε το αρχείο CSV μας. Στη συνέχεια, ο βρόχος for χρησιμοποιείται για την αποθήκευση των δεδομένων στα κελιά δεδομένων του αρχείου CSV. Μετατρέπουμε το αρχείο example.xlsx σε myfile.csv όπως φαίνεται στην παρακάτω εικόνα:

συμπέρασμα

Σε αυτό το σεμινάριο, σας δώσαμε μια σύντομη εισαγωγή στα αρχεία XLSX και τα αρχεία CSV. Εξηγήσαμε τις βασικές διαφορές μεταξύ των δύο μορφών αρχείων. Συζητήσαμε δύο μεθόδους με πολλά παραδείγματα για να διδάξουμε πώς τα αρχεία XLSX με μεμονωμένα ή πολλαπλά φύλλα μπορούν να μετατραπούν σε αρχεία CSV. Υλοποιήσαμε ένα παράδειγμα για τη μετατροπή πολλαπλών αρχείων XLSX σε αρχεία CSV ταυτόχρονα. Μπορεί να είναι απλή ή δύσκολη η μετατροπή των δεδομένων από το Excel σε CSV. Εάν έχετε μόνο ένα αρχείο με μικρό αριθμό φύλλων, είναι απλό. Αλλά αν όχι, μπορεί να είναι δύσκολο.