Πώς να μετατρέψετε το αρχείο XLS σε CSV στη γραμμή εντολών [Linux]
Η μετατροπή του φύλλου του Microsoft Excel (αρχείου XLS) σε ένα αρχείο CSV (Comma Separated file) είναι σχετικά εύκολο κατά τη χρήση ενός προϊόντος του Office, αλλά θα μπορούσε να είναι μια κουραστική εργασία για προγραμματιστές να το κάνουν στη γραμμή εντολών. Η κατάσταση μπορεί να φτάσει όταν έχετε ένα αρχείο XLS και θα πρέπει να συμπληρώσετε τη βάση δεδομένων από αυτό μετά τη μορφοποίηση των δεδομένων. Η μετατροπή του XLS σε CSV είναι ο ιδανικός τρόπος εδώ, καθώς το CSV είναι το σχήμα που μπορεί εύκολα να μεταχειριστεί σε οποιαδήποτε γλώσσα, είτε πρόκειται για Shell, Perl, Ruby, Python ή Java. Σε αυτήν την ανάρτηση, θα δούμε τους καλύτερους τρόπους μετατροπής του αρχείου XLS σε CSV και θα συζητήσουμε επίσης τα υπέρ και τα κατά της χρήσης αυτών των μεθόδων.
catdoc (σε C)
Το πρώτο εργαλείο γραμμής εντολών για το οποίο πρόκειται να μιλήσουμε είναι το catdoc. Το εργαλείο γράφεται στο C από τον VB Vagner.
1.1 Πώς να το εγκαταστήσετε:
Κάντε λήψη του εργαλείου από εδώ. Πηγαίνετε στον κατάλογο λήψεών σας και ξεκαθαρίστε το. Μπορείτε να χρησιμοποιήσετε τις παρακάτω εντολές (σε περίπτωση που αντιμετωπίζετε πρόβλημα):
gunzip catdoc-0.94.2.tar.gz tar xvf catdoc-0.94.2.tar
Τώρα έχουμε έναν κατάλογο catdoc-0.94.2 . Πηγαίνετε μέσα σε αυτόν τον κατάλογο και εκτελέστε τις ακόλουθες εντολές για να την εγκαταστήσετε:
./configure make make install
Η εγκατάσταση είναι μια εύκολη διαδικασία και δεν πρέπει να αντιμετωπίζετε κανένα πρόβλημα εδώ.
1.2 Πώς να το χρησιμοποιήσετε:
Υπάρχουν πολλές επιλογές για την εκτέλεση της εντολής. Θα σας πω τις επιλογές που λειτουργούν καλύτερα για τη μετατροπή του Microsoft Excel:
xls2csv -x "Path_of_Your_XLS_File" -s cp1252 -d 8859-1> "Path_of_Your_CSV_File"
Σημειώστε τις επιλογές " -s " και " -d " (σημαίνει προέλευση και προορισμό). Αυτές οι επιλογές χρησιμοποιούνται για να καθορίσετε ποια κωδικοποίηση χαρακτήρων χρησιμοποιείται στο αρχείο προέλευσης και ποια θα ήταν η κωδικοποίηση χαρακτήρων για το αρχείο προορισμού. Εδώ έχω χρησιμοποιήσει cpl1252 που είναι κωδικοποίηση χαρακτήρων Microsoft και 8859-1 που χρησιμοποιείται για κωδικοποίηση χαρακτήρων της Δυτικής Ευρώπης. Μπορείτε να χρησιμοποιήσετε ποιες άλλες επιλογές είναι διαθέσιμες χρησιμοποιώντας την εντολή βοήθειας.
xls2csv --help
1.3 Πλεονεκτήματα και μειονεκτήματα:
Πλεονεκτήματα : Ευθεία εγκατάσταση προς τα εμπρός
Μειονεκτήματα : Δεν υπάρχει επιλεκτική μετατροπή σε σενάριο πολλαπλών φύλλων, καλύπτει όλα τα φύλλα που υπάρχουν στο αρχείο xls (ένας εναλλακτικός τρόπος θα ήταν να καθορίσετε ρητά ένα υποσέλιδο σε κάθε φύλλο και στη συνέχεια να χρησιμοποιήσετε την επιλογή -b στην εντολή), προβλήματα με λίγους ευρωπαϊκούς χαρακτήρες, πρόβλημα με τα πεδία ημερομηνίας (τα πεδία ημερομηνίας είναι μπέρδεμα σε μεγάλες χρονικές στιγμές), μπέρδεμα με εισαγωγικά.
xls2csv (σε Perl)
Το δεύτερο εργαλείο που πρόκειται να μιλήσουμε είναι ένα σενάριο Perl xls2csv γραμμένο από τον Ken Prows στο Perl.
2.1 Πώς να το εγκαταστήσετε:
Κατεβάστε το σενάριο εδώ. Gunzip και tar όπως το κάναμε σε προηγούμενη ενότητα και πηγαίνετε στον εξαγόμενο κατάλογο και χρησιμοποιήστε τις παρακάτω εντολές για να το εγκαταστήσετε:
perl Makefile.PL κάνει κάνει δοκιμή κάνει την εγκατάσταση
Θυμηθείτε ότι το σενάριο Perl χρησιμοποιεί μια σειρά από άλλες μονάδες Perl:
Τοπικό :: Ανακατασκευή Unicode :: Χαρτί Υπολογιστικό :: ParseExcel Κείμενο :: CSV_XS
Κατά την εγκατάσταση του xls2csv, θα δώσει σφάλμα ότι δεν έχουν εγκατασταθεί οι αναφερόμενες μονάδες perl. Θα σας ζητήσει να κάνετε λήψη των ενοτήτων. Κατεβάστε και εγκαταστήστε αυτά τα στοιχεία όταν σας ζητηθεί. Όλες αυτές οι εγκαταστάσεις εγκατάστασης απαιτούν δικαιώματα root. Αν δεν έχετε πρόσβαση root, τότε θα πρέπει να ακολουθήσετε τις οδηγίες που δίνονται εδώ για να εγκαταστήσετε μια μονάδα Perl.
2.2 Πώς να το χρησιμοποιήσετε:
Η ακόλουθη εντολή μπορεί να χρησιμοποιηθεί για τη μετατροπή του Microsoft Excel σε csv:
xls2csv -x "Path_of_Your_XLS_File" -b cp1252 -w WorkSheetName -c "Path_of_Your_CSV_File" -a 8859-1
Οι επιλογές x και c (μέσα xls και csv) χρησιμοποιούνται για τον προσδιορισμό των αρχείων εισόδου και εξόδου, όπου ως b και a χρησιμοποιούνται τα μέσα για τον προσδιορισμό της αντίστοιχης κωδικοποίησης χαρακτήρων. Έχουμε χρησιμοποιήσει την ίδια κωδικοποίηση χαρακτήρων όπως στο προηγούμενο εργαλείο.
2.3 Πλεονεκτήματα και μειονεκτήματα:
Πλεονεκτήματα : Καλό με τα δυτικοευρωπαϊκά πεδία μετατροπής χαρακτήρων και ημερομηνιών, υποστηρίζει την επιλεκτική μετατροπή πολλών φύλλων,
Μειονεκτήματα : Αρκετές μονάδες Perl πρέπει να εγκατασταθούν, το πρώτο κελί δεν πρέπει να είναι άδειο (αλλιώς παραλείπει ολόκληρη τη σειρά), messes με εισαγωγικά
Υπάρχουν και άλλοι δύο τρόποι. Ορισμένα σενάρια Python και Java είναι επίσης διαθέσιμα για χρήση, αλλά δεν είναι τόσο καλά όσο αυτά τα δύο συζητήθηκαν εδώ. Ελπίζω ότι το άρθρο λύνει το πρόβλημά σας. Οι ερωτήσεις και οι προτάσεις είναι πάντα ευπρόσδεκτες. Στην υγειά σας :)