Ich arbeite mit Python 2.7 und versuche, einen Wert einzufügen, der ein float zu einem Schlüssel ist. Alle Werte werden jedoch als 0.0 eingefügt. Der Polaritätswert wird als 0.0 und nicht als tatsächlicher Wert eingefügt.Python 2.7-Wörterbuchwert, der float nicht als Eingabe verwendet
Code Snippet:
from textblob import TextBlob
import json
with open('new-webmd-answer.json') as data_file:
data = json.load(data_file, strict=False)
data_new = {}
lst = []
for d in data:
string = d["answerContent"]
blob = TextBlob(string)
#print blob
#print blob.sentiment
#print d["questionId"]
data_new['questionId'] = d["questionId"]
data_new['answerMemberId'] = d["answerMemberId"]
string1 = str(blob.sentiment.polarity)
print string1
data_new['polarity'] = string1
#print blob.sentiment.polarity
lst.append((data_new))
json_data = json.dumps(lst)
#print json_data
with open('polarity.json', 'w') as outfile:
json.dump(json_data, outfile)
wenn Sie Zeichenfolge1 gedruckt Sie die erwartete Ausgabe sehen? Es sieht auch so aus, als ob Sie die Schlüssel im Wörterbuch bei jeder Iteration von 'd in data' überschreiben. – user2682863
@ user2682863 ja, wenn ich string1 drucke, sehe ich die erwartete Ausgabe. Ja, ich überschreibe die Schlüssel. Bevor ich überschreibe, füge ich auch die Liste hinzu. –
Hat meine Antwort Ihr Problem gelöst? – user2682863