Αποφυγή αυτόματης εισαγωγής ημερ/νίας στο Open Office calc.

Alexis Bitoulas albitoulas at yahoo.gr
Sat Aug 9 19:11:59 BST 2008


Στις 09-08-2008, ημέρα Σαβ, και ώρα 20:44 +0300, ο/η Nikos Alexandris
έγραψε:
> On Sat, 2008-08-09 at 20:26 +0300, Konstantinos Togias wrote:
> > 2008/8/9 Nikos Alexandris <nikos.alexandris at uranus.uni-freiburg.de>:
> > > On Fri, 2008-08-08 at 19:43 +0300, Konstantinos Togias wrote:
> > >> 2008/8/8 Alexis Bitoulas <albitoulas at yahoo.gr>:
> > >> > Φίλοι καλημέρα σας,
> > >> >
> > >> > Ευχαριστώ για την ανταπόκριση.
> > >> >
> > >> > Το αρχείο που έστειλες Νίκο Γιαννάρο, επιβεβαιώνω και εγώ ότι
> > περιέχει
> > >> > ακόμη κάποιες ημερομηνίες (κελιά Τ6, ΒΚ10) αν το ανοίξω είτε με
> > το ΟΟ
> > >> > calc, είτε με το Gnumeric. Με το gedit δεν κατάφερα να το ανοίξω,
> > λόγω
> > >> > "λανθασμένης κωδικοποίησης", όπως μου ανέφερε...
> > >> > Άρα, το πρόβλημα υπάρχει ακόμα.
> > >> >
> > >> > Επίσης, επιβεβαιώνω και τα σημεία που παρατήρησες Νίκο Αλεξανδρή,
> > με τα
> > >> > κελιά που περιέχουν δύο τελείες αντί μία που είναι το σωστό. Δεν
> > ξέρω
> > >> > κατά πόσο αυτά τα κελιά είναι η αιτία για το πρόβλημα.
> > >> >
> > >> > Αν κάποιος άλλος έμπειρος με το ΟΟcalc, έχει υπόψιν του κάτι, θα
> > το
> > >> > εκτιμούσα πολύ!
> > >> >
> > >> > Διαφορετικά, μήπως μπορούμε να το αναφέρουμε κάπου πιο "πάνω",
> > εννοώ
> > >> > launchpad ή σε κάποιον άλλο υπεύθυνο για το ΟΟcalc. Επειδή δεν
> > ξέρω και
> > >> > πολλά πέρα από τη λίστα μας και το φόρουμ μας, αν μπορείτε δώστε
> > μου
> > >> > κάποιες κατευθύνσεις, σε περίπτωση που δεν το λύσουμε μόνοι μας
> > το
> > >> > πρόβλημα.
> > >> >
> > >> > Σας ευχαριστώ όλους,
> > >> >
> > >> > Φιλικά,
> > >> >
> > >> > --
> > >> > Αλέξης
> > >> >
> > >> >
> > >> >
> > >> > --
> > >> > Ubuntu-gr mailing list
> > >> > Ubuntu-gr at lists.ubuntu.com
> > >> >
> > >> > If you do not want to receive any more messages from the
> > ubuntu-gr mailing list, please follow this link and choose
> > unsubscribe:
> > >> > https://lists.ubuntu.com/mailman/listinfo/ubuntu-gr
> > >> >
> > >>
> > >> Γεια σας,
> > >>
> > >> Κοίταξα λίγο το πρόβλημα με το csv αρχείο και έχω τα εξής σχόλια:
> > >>
> > >> 1. Το πρόβλημα με τη μετατροπή των δεκαδικών με τελεία (.) σε
> > >> ημερομηνίες πρέπει να έχει να κάνει με την τοπικοποίηση του
> > >> openoffice. Όταν το calc είναι σε εξελληνισμένο περιβάλλον
> > >> αντιλαμβάνεται σαν χαρακτήρα διαχωρισμού ακεραίου από δεκαδικό μέρος
> > >> το κόμμα (,), ενώ την τελεία (.) την ερμηνεύει ως διαχωριστικό μήνα,
> > >> μέρας, έτους σε ημερομηνίες. Έτσι τους αριθμούς που περιέχουν . τους
> > >> ερμηνεύει σαν ημερομηνίες και όχι σαν δεκαδικούς. Δεν ξέρω αν - από
> > >> που ρυθμίζεται αυτή η συμπεριφορά, αλλά θα μπορούσε να δοκιμάσει
> > >> κάποιος που έχει αγγλικό περιβάλλον και αγγλικό openoffice να μας πει
> > >> αν η συμπεριφορά εκεί είναι πιο κοντά στην αναμενόμενη (δηλ οι τελείες
> > >> ερμηνευονται ως δεκαδικοί και όχι ως ημερομηνίες).
> > >
> > > Κώστα, νομίζω ότι αυτό δεν είναι πρόβλημα αφού κατά το άνοιγμα ενός csv
> > > με το ΟΟCalc έχει τη δυνατότητα ο χρήστης να επιλέξει τον χαρακτήρα που
> > > παίζει το ρόλο του διαχωριστή στηλών. Βέβαια, εγώ έχω την Αγγλική γλώσσα
> > > (και άρα την τελεία ως διαχωεριστικό χαρακτήρα για δεκαδικά ψηφία).
> > > Ωστόσο, στηρίζω τα λεγόμενά μου στο ότι ο Αλέξης, που έχει ρυθμίσεις
> > > στην Ελληνική, δεν ανέφερε να υπάρχει πρόβλημα με όλους τους αριθμούς
> > > παρά μόνο με συγκεκριμένους. Εκεί λοιπόν συνέδεσα το πρόβλημα με την
> > > ύπαρξη δυο τελειών.
> > >
> > 
> > Εγώ είδα όλους τους δεκαδικούς να μετατρέπονται σε ημερομηνία. Π.χ. το
> > 2.5 έγινε 02.05.08. Γι' αυτό πιστεύω ότι το πρόβλημα είναι στην
> > τοπικοποίηση... Κάποιος άλλος μπορεί να το ελέγξει σε ελληνικό
> > περιβάλλον και να μας πει αν μετατρέπονται σε ημερομηνίες μόνο κάποιοι
> > ή όλοι οι αριθμοί της μορφής x.y ;
> 
> Ίσως να έχω κάνει λάθος εγώ.
> 
> Αλέξη, μπορείς να επιβεβαιώσεις (πέρα από το πρόβλημα με τις δυο
> τελείες) σου μετατρέπει όλους τους αριθμούς σε ημερομηνίες;
> 
Παιδιά καλησπέρα και ευχαριστώ πολύ για την βοήθεια και προσπάθεια σας!

Δεν μου μετατρέπει (το ΟΟcalc) όλους τους δεκαδικούς αριθμούς σε
ημερομηνία! Μετατρέπει αυτούς που ταιριάζουν με ημερομηνία, όπως  π.χ
τον 24.2 τον μετατρέπει σε 24/02/08.

Επίσης, δεν μου μετατρέπει σε ημερομηνία τους αριθμούς με τις δύο
τελείες. Αυτοί οι αριθμοί παραμένουν ως έχουν.

Ακόμη, όντως, αν ανοίξω πρώτα το αρχείο με το Gnumeric και το σώσω
έπειτα σε .xls, τότε όντως λύνεται το πρόβλημα με τις ημερομηνίες, όλοι
οι αριθμοί εμφανίζονται κανονικά! Παρόλα αυτά θέλω να σημειώσω ότι και
το Gnumeric μου κόβει στήλες και όχι γραμμές όπως αναφέρει το ΟΟcalc.
Και το ΟΟcalc, μου κόβει αριθμό στηλών και όχι γραμμών που αναφέρει (!)
(αυτό πιστεύω ότι έχει να κάνει μάλλον με αυτοματοποιημένο μήνυμα ή με
την ελληνική μετάφραση)

Να σας αναφέρω, ότι το συγκεκριμένο αρχείο download.csv που σας έστειλα,
είχα επιλέξει από την ηλεκτρονική πηγή που διάλεγα τα στοιχεία που με
ενδιέφεραν, πάρα πολλές στήλες, περίπου πάνω από 800! Ενώ στο αρχείο που
κατέβασα και άνοιξα και με το gnumeric και με το OOcalc οι μισές στήλες
λείπανε!

Φιλικά και σας ευχαριστώ ξανά,

Αλέξης.
 

> > >> 2. Στο αρχείο υπάρχουν τιμές της μορφής 23..5 που είναι λογικό να
> > >> δημιουργούν πρόβλημα . Δεν ξέρω τι κάνει και τι θα έπρεπε να κάνει το
> > >> calc όταν συναντά τέτοιες τιμές. Η ύπαρξη  της διπλής τελείας, αν δεν
> > >> είναι για κάποιο λόγο ηθελημένη, αποτελεί σφάλμα του προγράμματος που
> > >> παρήγαγε το CSV αρχείο.
> > >
> > > Ίσως να ήταν μια χρήσιμη "διορθωτική" λειτουργία στο OOCalc να ρωτά το
> > > χρήστη αν θέλει να "διορθώσει" τέτοιες τιμές (;)
> > >
> > >
> > >> 3. Το calc για κάποιο λόγο αρνείται να φορτώσει όλες τις γραμμές του
> > >> CSV . Φορτώνει τις 11 πρώτες και στη συνέχεια βγάζει ένα μήνυμα για
> > >> υπέρβαση μέγιστου ορίου γραμμών. Κάποιος πρέπει να δει πως είναι το
> > >> μήνυμα αυτό στα και να ψάξει λίγο στο google για το τι σημαίνει και
> > >> αν/από που ρυθμίζεται - παρακάμπτεται το μέγιστο όριο γραμμών
> > >
> > > Αυτό είναι γνωστό πρόβλημα τελικά. Για παράδειγμα [1] [2] που κατά πάσα
> > > πιθανότητα θα είναι φιξαρισμένο στην έκδοση ΟΟ3 [3].
> > >
> > > [1]
> > > http://www.nabble.com/Maximum-number-of-rows-and-columns-in-Calc--td17106361.html
> > > [2] http://www.openoffice.org/issues/show_bug.cgi?id=86049
> > > [3] http://www.openoffice.org/issues/show_bug.cgi?id=86049
> > >
> > >>
> > >> 4. Κατα προσωπική μου γνώμη τα παραπάνω (πέραν της διπλής τελείας
> > >> ίσως) οφείλονται σε ελλειπή υλοποίηση και έλλειψη επιλογών στη
> > >> διαδικασία εισαγωγής CSV αρχείων από μεριάς του openoffice 2.4.1 . Ας
> > >> ελπίσουμε ότι τα πράγματα θα είναι καλύτερα στο ooo3 .
> > >>
> > >> 5. Επειδή όμως είμαστε στον κόσμο του Unix (και ειδικότερα του
> > >> υπέροχου ελεύθερου linux) πολλά μπορούν να διορθωθούν εύκολα και
> > >> γρήγορα όταν έχουμε να κάνουμε με αρχεία κειμένου, με τη χρήση
> > >> εξωτερικών προγραμμάτων επεξεργασίας ροών κειμένου (stream editors),
> > >> όπως το sed ή το awk που με τη βοήθεια των κανονικών εκφράσεων
> > >> (regular expressions) αποτελούν πανίσχυρα εργαλεία και μας επιτρέπουν
> > >> να μεταμορφώνουμε αρχεία κειμένου όπως το CSV για το οποίο μιλάμε. Με
> > >> το sed λοιπόν μπορεί κάποιος να εξαφανίσει τις διπλές -τριπλές κλπ
> > >> τελείες και να τις αντικαταστήσει με μία μόνο τελεία, να αλλάξει τα
> > >> διαχωριστικά των κελιών από κόμματα σε κάτι άλλο, και μετά να αλλάξει
> > >> τις διαχωριστικές τελείες σε κόμματα, ωστε οι αριθμοί να αποκτήσουν
> > >> ελληνοποιημένη μορφή (κόμμα αντί τελεία για δεκαδικά). Η εντολή που
> > >> έτρεξα εγώ από το τερματικό είναι η εξής:
> > >>
> > >> sed 's/\([0-9]\)\.\.\([0-9]\)/\1\.\2/g' < download.csv | sed 's/,/|/g'
> > >> | sed 's/\./,/g' > download.corrected.csv
> > >
> > > Μια σημείωση για τον άπειρο χρήστη: η εντολή έχει ως "στόχο" το αρχείο
> > > download.csv και θα πρέπει να εκτελεστεί μέσα από τον (υπο-)κατάλογο
> > > στον οποίο βρίσκεται το αρχείο-στόχος.
> > >
> > >
> > >> Η παραπάνω εντολή μπορεί αρχικά να φαίνεται λίγο ακαταλαβίστικη, αλλά
> > >> μολις την σπάσει κάποιος σε τμήματα και συνηθίσει τη σύνταξη των
> > >> κανονικών εκφράσεων θα ξετυλιχτεί μπροστά του όλη η ομορφιά της:
> > >>
> > >> α. Η γραμμή αποτελείται από διαδοχικές διασωληνώσεις (pipes) 3
> > >> εκτελέσεων του προγράμματος sed. Τα διασωληνωμένα τμήμα διαχωρίζονται
> > >> με τον χαρακτήρα | όταν αυτός δεν βρίσκεται μέσα σε μονά εισαγωγικά
> > >> (').
> > >>
> > >> β. Η πρώτη εντολή εκτελεί το sed με είσοδο το αρχείο download.csv και
> > >> με την κανονική έκφραση  s/\([0-9]\)\.\.\([0-9]\)/\1\.\2/g που
> > >> βρίσκεται ανάμεσα σε απλά εισαγωγικά. Η κανονική έκφραση
> > >> s/\([0-9]\)\.\.\([0-9]\)/\1\.\2/g λέει στο sed να αντικαταστήσει όλες
> > >> τις εμφανίσεις δυο συνεχόμενων χαρακτήρων τελεία που βρίσκονται
> > >> ανάμεσα σε δυο αριθμητικούς χαρακτήρες, με μια μόνο τελεία που
> > >> βρίσκεται ανάμεσα σε αυτούς τους χαρακτήρες.
> > >>
> > >> γ. Η δεύτερη εντολή θα τρέξει με είσοδο την έξοδο της προηγούμενης και
> > >> με βάση τα όσα λέει η δική της κανονική έκφραση θα αντικαταστήσει όλα
> > >> τα κόμματα με τον χαρακτήρα | .
> > >>
> > >> δ. Συνεχίζοντας τη διασωλήνωση όταν η ροή κειμένου φτάσει στην τρίτη
> > >> εντολή οι τελείες θα αντικατασταθούν με κόμματα.
> > >>
> > >> ε. Η έξοδος της τελευταίας εντολής ανακατευθύνεται με τον χαρακτήρα >
> > >> από το κέλυφος στο αρχείο  download.corrected.csv .
> > >>
> > >> Έτσι το αρχείο download.corrected.csv περιέχει τα δεδομένα που είχε το
> > >> download.csv, χωρίς διπλές τελείες, με | αντί για κόμματα για το
> > >> διαχωρισμό των κελιών και με , αντι για . για το διαχωρισμό ακέραιου
> > >> και δεκαδικού μέρους. Το παραγώμενο αρχείο το άνοιξα με  calc σε
> > >> ελληνικό περιβάλλον επιλέγοντας στο "διαχωριζόμενα με" "άλλο" και
> > >> ορίζοντας τον χαρακτήρα | ως διαχωριστικό και το άνοιξε χωρις (προφανή
> > >> τουλάχιστον) λάθη. Οι αριθμοί αναγνωρίστικαν κανονικά ως δεκαδικοί με
> > >> κόμμα, και δεν υπήρχαν ημερομηνίες. Βέβαια πάλι το calc αρνήθηκε να
> > >> εισάγει όλες τις γραμμές του CSV.
> > >>
> > >> Παραπομπές:
> > >>
> > >> Sed - An introduction and tutorial : http://www.grymoire.com/Unix/Sed.html
> > >>
> > >> Introducing Unix shell pipes: http://sig9.com/articles/unix-pipes-intro
> > >
> > > Φιλικά, Νίκος
> > >
> > >
> > > --
> > > Ubuntu-gr mailing list
> > > Ubuntu-gr at lists.ubuntu.com
> > >
> > > If you do not want to receive any more messages from the ubuntu-gr mailing list, please follow this link and choose unsubscribe:
> > > https://lists.ubuntu.com/mailman/listinfo/ubuntu-gr
> > >
> > 
> > 
> > 
> -- 
> Nikos Alexandris
> 
> 
-- 
Αλέξης





More information about the Ubuntu-gr mailing list