Zeichenfolgen werden verwendet, um Daten über das Netzwerk zu senden/zu kommunizieren. Wenn diese Zeichenfolge jedoch von einem Programm empfangen wird, muss sie in einen Datentyp umgewandelt werden, der schnellere Manipulationen unterstützt. In Python gibt es Wörterbücher, die es dem Benutzer ermöglichen, Daten in Form von Paaren oder Schlüsselpaarwerten zu speichern. Diese sind JSON sehr ähnlich, und in diesem Beitrag werden Sie lernen, wie man eine Python -Saite in ein Wörterbuch umwandelt.
Der Inhalt dieser Anleitung lautet wie folgt:
Beginnen wir sofort mit der ersten Methode.
Methode 1: Verwenden des JSON.loads () Methode zum Umwandeln von String in DICT
Mit der Lades () -Methode wird eine JSON -String „geladen“ und in einen JSON oder in Python, ein Wörterbuch, umwandeln. Damit diese Methode funktioniert, muss sich die Zeichenfolge jedoch in dem spezifischen Format befinden, in dem jeder „Schlüssel“ durch Anführungszeichen eingekapselt wird, die durch einen Dickdarm vom „Wert“ getrennt sind. Und jedes Paar wird durch ein Komma getrennt.
Verwenden Sie den folgenden Code-Snippet:
JSON importieren
Stringvar = '"Name": "John Doe", "Alter": "20", "Beruf": "Doktor"'
resultvar = json.Ladungen (StringVar)
print ("Initial String:", Stringvar)
print ("nach Conversion:", resultvar)
print ("Typ nach der Konvertierung:", Typ (resultvar))
In diesem Code -Snippet:
Wenn dieser Code ausgeführt wird, erzeugt er das folgende Ergebnis am Terminal:
In dieser Ausgabe können Sie leicht feststellen, dass die Zeichenfolge in Python erfolgreich in einen Diktat -Datentyp konvertiert wurde.
Methode 2: Verwenden des AST.Literal_eval () Methode zum Umwandeln von String in DICT
Die Methode Literal_eval () aus dem „AST“ -Paket kann auch genauso verwendet werden. Um diese Methode zu verwenden, schauen Sie sich den folgenden Code an:
importieren
Stringvar = '"Name": "John Doe", "Alter": 20, "Beruf": "Doktor", "Gehalt": 40000'
resultvar = ast.literal_eval (Stringvar)
print ("Initial String:", Stringvar)
print ("nach Conversion:", resultvar)
print ("Typ nach der Konvertierung:", Typ (resultvar))
Wenn dieser Code ausgeführt wird, erzeugt er das folgende Ergebnis am Terminal:
Die Ausgabe verwertet, dass die Zeichenfolge erfolgreich in einen Python -Diktat umgewandelt wurde.
Methode 3: Verwenden der Methode Eval (), um String in DICT umzuwandeln
Eine weitere sehr ähnliche Methode ist die Methode EVAL (), mit der bewertet wird, ob eine Zeichenfolge korrekt formatiert ist oder nicht, und gibt das konvertierte Wörterbuch an den Anrufer zurück. Um zu sehen, dass es funktioniert, nehmen Sie das folgende Code -Beispiel:
Stringvar = '"Name": "John Doe", "Alter": 20, "Beruf": "Doktor", "Gehalt": 40000'
resultvar = eval (StringVar)
print ("mit der Methode eval ()"))
print ("Initial String:", Stringvar)
print ("nach Conversion:", resultvar)
print ("Typ nach der Konvertierung:", Typ (resultvar))
Wenn dieser Code ausgeführt wird, erzeugt er die folgende Ausgabe am Terminal:
Sie haben eine Python -String erfolgreich in ein Python -Diktat mit der Methode Eval () umgewandelt.
Methode 4: Verwenden Sie Strip () und Split () in Generatorausdrücken
Angenommen, die Saite befindet sich nicht im JSON -String -Format, und Sie möchten sie immer noch in einen Python -Dict umwandeln. Zu diesem Zweck müssten Sie verschiedene String -Manipulationsmethoden wie Strip () und Split () verwenden. Nehmen wir beispielsweise an, die Zeichenfolge enthält Schlüsselwertpaare, in denen der Schlüssel und der Wert durch einen Bindestrich getrennt sind-”, Und jedes Paar wird durch ein Komma getrennt. Dies ist beispielsweise die String, die konvertiert werden soll:
Stringvar = "Name - John Doe, Alter - 20, Beruf - Doktor, Martial_Status - Single"
Dazu kann der Benutzer den Generatorausdruck verwenden und sich den folgenden Code ansehen:
Stringvar = "Name - John Doe, Alter - 20, Beruf - Doktor, Martial_Status - Single"
resultvar = dict ((a).strip (), b.Streifen())
für a, b in (Abschnitt.Teilt("-")
Für Abschnitt in StringVar.Teilt(",")))
print ("Initial String:", Stringvar)
print ("Afterconversion:", resultvar)
print ("Typ nach der Konvertierung:", Typ (resultvar))
Um diesen Code zu verstehen, beginnen Sie von der innersten Schleife:
Wenn dieser Code ausgeführt wird, erzeugt er die folgende Ausgabe:
Es kann leicht beobachtet werden, dass die Saite in einen Python -Dict umgewandelt wurde.
Abschluss
Um eine Zeichenfolge in ein Python -Diktat umzuwandeln, kann der Benutzer die Methode "lade () aus dem" JSON "-Paket oder der Methode" Literal_eval () aus dem "AST" -Paket verwenden. Um diese beiden Methoden anzuwenden, sollte die Zeichenfolge jedoch ein JSON -String sein. Wenn sich die Zeichenfolge in einem anderen Format befindet, muss der Benutzer eine Kombination verschiedener String -Manipulationsmethoden verwenden, um einen Arbeitsgeneratorausdruck zu finden.