Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: εισαγωγή δεδομενων από αρχείο σε λεξικό

εισαγωγή δεδομενων από αρχείο σε λεξικό 2 Μήνες 3 Εβδομάδες πριν #4550

  • panoz
  • Το Άβαταρ του/της panoz
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 4
Καλησπέρα σας και καλώς σας βρήκα από εναν αρχάριο στην Python (αλλα όχι στον προγραμματισμό γενικότερα)

θα ήθελα τη γνώμη σας για το παρακάτω κομμάτι κώδικα με το οποίο
θελω να δημιουργήσω ένα dictionary από ένα αρχείο δεδομένων (πχ .txt , .csv κλπ)
test={}
with open("onoma arxeiou", mode="r", encoding="utf-8") as f:
        for line in f:
            x=line.split(";")
            a=x[0]
            b=x[1]
            test[a]=b

υπάρχει συντομότερος τρόπος για τη δημιουργια του λεξικού?
το κλειδί είναι string και η τιμή επίσης ένα άλλο string

ευχαριστώ
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

εισαγωγή δεδομενων από αρχείο σε λεξικό 2 Μήνες 3 Εβδομάδες πριν #4554

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 395
  • Ληφθείσες Ευχαριστίες 59
test={}
with open("onoma arxeiou", mode="r", encoding="utf-8") as f:
        for line in f:
            x = line.split(";")
            test[ x[0] ] = x[1]

Ή θα μπορούσες και έτσι:
test={}
with open("onoma arxeiou", mode="r", encoding="utf-8") as f:
        for line in f : test[ line.split(";")[0] ] = line.split(";")[1]
Η Python για μένα είναι η
καλύτερη γλώσσα προγραμματισμού!
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": panoz

εισαγωγή δεδομενων από αρχείο σε λεξικό 2 Μήνες 3 Εβδομάδες πριν #4555

  • Theo
  • Το Άβαταρ του/της Theo
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 176
  • Ληφθείσες Ευχαριστίες 49
Από αυτά που γράφεις φαντάζομαι ότι το αρχείο σου έχει 2 τιμές σε κάθε γραμμή
με delimiter το ;
Εάν είναι έτσι μπορείς να χρησιμοποιήσεις και την dict για να μην αποδίδεις μία μία τις τιμές
with open("onoma arxeiou", mode="r", encoding="utf-8") as f:
  test=dict(line.split(';') for line in f)
Θέλει προσοχή γιατί ανεξάρτητα από τα δεδομένα που έχει που το αρχείο σου στο τέλος θα έχεις keys και values strings
docs.python.org/3/library/stdtypes.html#typesmapping
Τελευταία διόρθωση: 2 Μήνες 3 Εβδομάδες πριν από Theo.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": panoz

εισαγωγή δεδομενων από αρχείο σε λεξικό 2 Μήνες 3 Εβδομάδες πριν #4556

  • panoz
  • Το Άβαταρ του/της panoz
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 4
Σας ευχαριστώ, βλεπω ότι ο τρόπος μου ειναι μέσα στα αποδεκτά (προγραμματιστικά) πλαίσια.

@Theo ναι το αρχείο έχει δύο τιμές ανά γραμμή με delimiter το ;
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

εισαγωγή δεδομενων από αρχείο σε λεξικό 2 Μήνες 3 Εβδομάδες πριν #4557

  • Theo
  • Το Άβαταρ του/της Theo
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 176
  • Ληφθείσες Ευχαριστίες 49
κάτι που μας ξέφυγε είναι ότι με το split το δεύτερο str θα έχει και το χαρακτήρα νέας γραμμής.
Οπότε line.strip().split(';') είναι το σωστό για όλες τις λύσεις που γράφτηκαν
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": panoz
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.258 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου