Εμφάνιση 1-4 από 4
  1. #1
    Καλησπερα σε ολους,

    εχω να παραδωσω μια εργασια και εχω κολλησει, οποτε θα χαιρομουν πολυ αν μπορουσατε να βοηθησετε. Το προβλημα ειναι το εξης, εχουμε ενα αρχειο log και πρεπει να γραψουμε ενα python σκριπτ ωστε να μετατρεψουμε το log σε csv.
    Μεχρι στιγης το εχω καταφερει, το προβλημα μου ειναι οτι το αρχειο log εχει 7 στηλες και πρεπει απο την τριτη στηλη να κανουμε extract μονο μια συγκεκριμενη πληροφορια και δεν εχω ιδεα πως να το κανω. Για να γινω πιο κατανοητη δινω ενα παραδειγμα, η τριτη στηλη εχει ονομα qwertyθεμιτηπληροφορια.pngcvbnm , αρα πρεπει με καποιον τροπο να σπασω την λεξη σε τρια μερη ωστε να αποσπασω αυτο που χρειαζομαι.

    P.S: εχω ελαχιστες εως μηδαμινες γνωσεις προγραμματισμου και κυριως σε c++, ελπιζω να δειξετε κατανοηση.

  2. #2
    Εγγραφή
    04-02-2009
    Ηλικία
    33
    Μηνύματα
    1.486
    Downloads
    4
    Uploads
    0
    Τύπος
    ADSL
    Ταχύτητα
    2048/256
    ISP
    Cyta Hellas
    Παράθεση Αρχικό μήνυμα από Alderaan1 Εμφάνιση μηνυμάτων
    ...
    Python δεν γνωρίζω (ούτε c++ καλά) αλλά αν οι στήλες έχουν σταθερό αριθμό από spaces ανάμεσα ίσως μπορείς να τα μετρήσεις για να καταλάβεις πότε είσαι στον πρώτο χαρακτήρα του qwertyθεμιτηπληροφορια.pngcvbnm.

    Από εκεί και πέρα φαντάζομαι μπορείς να κρατήσεις ή πετάξεις αντίστοιχα με regular expressions ή τέλος πάντων με κάποιο pattern. Πχ να αγνοήσεις τους χ πρώτους χαρακτήρες του αλφαριθμητικού "qwertyθεμιτηπληροφορια.pngcvbnm" όπως και ότι υπάρχει μετά από τον χαρακτήρα "." .

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

  3. #3
    Το avatar του μέλους ditsikts
    ditsikts Guest
    ότι είπε ο petran, το split θα σε βοηθησει λογικα

  4. #4
    Εγγραφή
    03-11-2016
    Ηλικία
    34
    Μηνύματα
    160
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    UP:1061 k/ DN:11889 k
    ISP
    Cyta Hellas
    DSLAM
    Cyta Hellas - Σ.Σ. ΑΓΡΑ
    Router
    TG788v2
    SNR / Attn
    21.4(dB) / 4.3(dB)
    Path Level
    Interleaved
    Αν και πλέον πιθανώς έχεις παραδώσει, το αφήνω εδώ για μελλοντική χρήση.

    Χρειάζεσαι regex. Αν θεωρήσουμε ότι το pattern είναι συγκεκριμένο, μορφής qwertyθεμιτηπληροφορια.pngcvbnm (δηλαδή να ξεκινά πάντα με το string qwerty, να συνεχίζει με τη θεμιτή πληροφορία πάλι σε string χωρίς special characters και να τελειώνει με .*) τότε η παρακάτω regex θα λειτουργήσει.

    Κώδικας:
    (?<=qwerty)\w+(?=\.)
    Μπορείς να τη δοκιμάσεις εδώ.

    Μπορείς επίσης να αλλάζεις τα Lookahead-behind, ώστε να ταιριάζει και σε άλλα pattern. Πχ για το server_01image.bak άν θέλαμε να πάρουμε το "image" θα αλλάζαμε τη regex σε:

    Κώδικας:
    (?<=server_01)\w+(?=\.)

Παρόμοια Θέματα

  1. Εγκατάσταση Python
    Από gimani25 στο φόρουμ Windows
    Μηνύματα: 0
    Τελευταίο Μήνυμα: 07-10-16, 20:09
  2. Python Socket, Δεν Γίνεται Σύνδεση Εκτός Τοπικού Δικτύου!
    Από babaliaris στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμού
    Μηνύματα: 3
    Τελευταίο Μήνυμα: 22-09-16, 00:32
  3. Python Developer στο Εξωτερικό (θέση εργασίας)
    Από xpan στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμού
    Μηνύματα: 0
    Τελευταίο Μήνυμα: 10-06-16, 13:57
  4. Μηνύματα: 2
    Τελευταίο Μήνυμα: 23-04-16, 20:09
  5. Προσθήκη path python 3 σε windows 7
    Από kostaspd στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμού
    Μηνύματα: 3
    Τελευταίο Μήνυμα: 14-04-16, 11:02

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας