peg Δημοσ. 4 Μαρτίου 2018 Share Δημοσ. 4 Μαρτίου 2018 (επεξεργασμένο) Καλησπέρα κι από εμένα! Στα πλαίσια μιας διπλωματικής εργασίας με στατιστική ανάλυση, παίρνω από μια εταιρία δεδομένα για τη θλιπτική αντοχή ενός προϊόντος. Τα δεδομένα αυτά αποθηκεύονται σε μορφή .zs2 και μπορούν να ανοιχτούν μόνο από το πρόγραμμα που συνοδεύει τη μηχανή ελέγχου. Για να μην ταλαιπωρώ τον υπάλληλο, καθώς πρέπει να ανοιχτούν ένα-ένα και να μου τα εκτυπώσει ή να τα γράψει, μου έδωσε κάποια αρχεία να δοκιμάσω εάν βρω τρόπο να τα ανοίξω. Ψάχνοντας, βρήκα ένα module για python που μετατρέπει αυτά τα αρχεία σε xml. To module το βρήκα εδώ. Ο κώδικας είναι ο παρακάτω: import zs2decode.parser import zs2decode.util zs2_file_name = 'my_data_file.zs2' xml_output_file = 'my_data_file.xml' # load and decompress file data_stream = zs2decode.parser.load(zs2_file_name) # separate binary data stream into chunks raw_chunks = zs2decode.parser.data_stream_to_chunks(data_stream) # convert binary chunk data into lists of Python objects chunks = zs2decode.parser.parse_chunks(raw_chunks) # output as XML file with open(xml_output_file, 'wb') as f: f.write( zs2decode.util.chunks_to_XML(chunks) ) Όπου filename έχω δοκιμάσει να βάλω το path του αρχείου, αλλά και να μεταφέρω το αρχείο στον ίδιο φάκελο με το module. Όταν το τρέχω όμως μου εμφανίζει σφάλμα: Traceback (most recent call last): File "C:\Users\ΓΤ\Desktop\zs2decode-master\examples\zs2_to_xml.py", line 1, in <module> import zs2decode.parser ModuleNotFoundError: No module named 'zs2decode' Δεν έχω βγάλει κάποια άκρη με το τι συμβαίνει, όσο και αν διάβασα σε tutorials. Θα είμαι πραγματικά ευγνώμων για οποιαδήποτε βοήθεια ΔΕΚΕΜΒΡΙΟΣ_2016_EPS80.zs2 Επεξ/σία 4 Μαρτίου 2018 από peg Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
becoming_I Δημοσ. 4 Μαρτίου 2018 Share Δημοσ. 4 Μαρτίου 2018 Ας τα πάρουμε από την αρχή. Δε σου βρίσκει το module zs2decode που είναι απαραίτητο για αυτή τη δουλειά. Επίσης παρατηρώ ότι έχεις στο όνομα χρήστη ελληνικούς χαρακτήρες. Δοκίμασε στο C:\FAKELOSMEAGGLIKOONOMA μήπως κλωτσάει αυτό. 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
kaydi Δημοσ. 4 Μαρτίου 2018 Share Δημοσ. 4 Μαρτίου 2018 (επεξεργασμένο) Για να λέει: "ModuleNotFoundError: No module named 'zs2decode' ", σημαίνει ότι το πακέτο δεν υπάρχει στο environment που χρησιμοποιείς. Έχεις κάνει instal το package; Εάν ναι, σιγουρέψου ότι το έχεις εγκαταστήσει στο ίδιο environment που χρησιμοποιείς όταν τρέχεις το script. Εάν τρέχεις το script μέσα από IDE (π.χ. PyCharm), βεβαιώσου ότι στο IDE χρησιμοποιείς το ίδιο env με αυτό που έκανες install το package. Επεξ/σία 4 Μαρτίου 2018 από kaydi 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
ajaxmonkey4hire Δημοσ. 4 Μαρτίου 2018 Share Δημοσ. 4 Μαρτίου 2018 what is your PYTHONPATH env var? did you try sys.path.append(the_dir_where_the_mod_is_located) When a module named spam is imported, the interpreter first searches for a built-in module with that name. If not found, it then searches for a file named spam.py in a list of directories given by the variable sys.path. sys.path is initialized from these locations: The directory containing the input script (or the current directory when no file is specified). PYTHONPATH (a list of directory names, with the same syntax as the shell variable PATH). The installation-dependent default. πέρα από αυτά, ή κάνεις: import zs2decode και στον κωδικό χρησιμοποιείς zs2decode.parser.... zs2decode.util.... ή κάνεις relative import from zs2decode import parser, util 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
pmav99 Δημοσ. 4 Μαρτίου 2018 Share Δημοσ. 4 Μαρτίου 2018 Αυτό πρέπει να εγκαταστήσεις και να ξανατρέξεις το script: https://pypi.org/project/zs2decode/ @ajaxmonkey4hire Αυτό που γράφεις δεν είναι ακριβές. Τα "parser" και "util" είναι modules, οπότε το script είναι σωστό. 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
ajaxmonkey4hire Δημοσ. 4 Μαρτίου 2018 Share Δημοσ. 4 Μαρτίου 2018 δίκιο έχεις δεν είχα κοιτάξει το https://pypi.org/project/zs2decode/ 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
peg Δημοσ. 4 Μαρτίου 2018 Μέλος Share Δημοσ. 4 Μαρτίου 2018 Τελικά βρήκα τη λύση. Πρόσθεσα μόνο το φάκελο zs2decode στον φάκελο python36. Επίσης στο φάκελο του python36 πρόσθεσα και το αρχείο zs2_to_xml.py, καθώς και τα αρχεία .zs2 και δούλεψε! Ένα ένα φυσικά τα αρχεία και κάθε φορά αλλάζω τον κώδικα του module. Ευχαριστώ όλους για τις απαντήσεις σας! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
pmav99 Δημοσ. 5 Μαρτίου 2018 Share Δημοσ. 5 Μαρτίου 2018 Αυτό που έκανες δουλεύει μεν, αλλά είναι ο λάθος τρόπος. Αν χρειάζεσαι την python μονο για να μετατρέψεις τα αρχεία αυτά σε XML, ΟΚ. Αν θες όμως να χρησιμοποιήσεις την python και για άλλα πράγματα, τότε, μεταξύ άλλων πρέπει να μάθεις πως εγκαθιστάς πακέτα (η απάντηση είναι χρησιμοποιώντας το pip). 2 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
peg Δημοσ. 5 Μαρτίου 2018 Μέλος Share Δημοσ. 5 Μαρτίου 2018 8 ώρες πριν, pmav99 είπε Αυτό που έκανες δουλεύει μεν, αλλά είναι ο λάθος τρόπος. Αν χρειάζεσαι την python μονο για να μετατρέψεις τα αρχεία αυτά σε XML, ΟΚ. Ναι την χρειαζόμουν μόνο για μετατροπή των αρχείων σε XML. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα