Also habe ich versucht, dieses Problem für eine ganze Weile zu beheben und habe versucht, herauszufinden, warum mein Code nicht funktioniert, aber ich kann einfach nicht bekommen das Wörterbuch mit dem richtigen Schlüssel drucken: Wertpaare, die ich brauche.Python Konvertieren von CSV-Datei mit Komma-Trennzeichen ins Wörterbuch
Also hier ist die Geschichte. Ich lese eine CSV-Datei, wo die erste Spalte Textabkürzungen sind und in der zweiten Spalte die volle englische Bedeutung sind. Jetzt habe ich mehrere Möglichkeiten versucht, diese Datei zu öffnen, sie zu lesen und sie dann in dem von uns erstellten Wörterbuch zu speichern. Mein Problem ist, dass die Datei gelesen wird, und wenn ich die getrennten Stücke drucke (ich glaube, es geht durch die ganze Datei, aber ich weiß es nicht, da es um Linie 1007 abgeschnitten wird, aber bis 4600 geht. Das Problem all das Zeug ist, dass, wenn ich es in Schlüssel setzen jetzt nehmen wollen:.. Wert-Paare in einem Wörterbuch der einzige, der die erste Zeile in der Datei ist gespeichert wird
Hier ist der Code:
def createDictionary(filename):
f = open(filename, 'r')
dic = {}
for line in f:
#line = line.strip()
data = line.split(',')
print data
dic[data[0]] = data[1]
print dic
Was habe ich angenommen, war die Frage war:
print dic
Da er druckt innerhalb der Schleife, aber da es in der Schleife ist, sollte es immer drucken, wenn es immer wieder durchläuft. Ich bin verwirrt darüber, was ich falsch mache. Die anderen Methoden, die ich zu verwenden versuchte, waren json, aber ich weiß nicht so viel darüber, wie man es benutzt, und dann lese ich auch über das csv-Modul nach, aber ich glaube nicht, dass unser Professor will, dass wir das benutzen Ich hatte gehofft, dass jemand meinen Fehler entdeckte. Danke im Voraus!!!
EDIT
Dies ist die Ausgabe meines Programms
going to be late\rg2cu', 'glad to see you\rg2e', 'got to eat\rg2g', 'got to go\rg2g2tb', 'got to go to the bathroom\rg2g2w', 'got to go to work\rg2g4aw', 'got to go for a while\rg2gb', 'got to go bye\rg2gb2wn', 'got to go back to work now\rg2ge', 'got to go eat\rg2gn', 'got to go now\rg2gp', 'got to go pee\rg2gpc', 'got 2 go parents coming\rg2gpp', 'got to go pee pee\rg2gs', 'got to go sorry\rg2k', 'good to know\rg2p', 'got to pee\rg2t2s', 'got to talk to someone\rg4u', 'good for you\rg4y', 'good for you\rg8', 'gate\rg9', 'good night\rga', 'go ahead\rgaalma', 'go away and leave me alone\rgafi', 'get away from it\rgafm', 'Get away from me\rgagp', 'go and get pissed\rgaj'
, die bis zum Ende der Datei für ein bisschen geht weiter und dann nach, dass das gesamte Wörterbuch drucken sein angenommenes, in denen ich erhalte diese
{'$$': 'money\r/.'}
zusammen mit einem
none
EDIT 2
Hier ist der vollständige Code:
def createDictionary(filename):
f = open(filename, 'r')
dic = {}
for line in f:
line = line.strip()
data = line.split(',')
print data
dic[data[0]] = data[1]
print dic
if __name__ == "__main__":
x = createDictionary("textToEnglish.csv")
print x
EDIT 3
Hier ist die Datei, die ich in ein Wörterbuch zu machen versuchen
https://1drv.ms/u/s!AqnudQBXpxTGiC9vQEopu1dOciIS
Können Sie uns zeigen, ein bisschen Ausgang dieses? –
Meinen Sie, was Sie vom Terminal aus sehen, wenn ich das Programm starte? Wenn dem so ist, bin ich noch neu auf dieser Seite und weiß nicht, wie ich es neben einem Screenshot zeigen soll? –
* Ich glaube, es geht durch die ganze Datei, aber ich weiß es nicht, da es um Linie 1007 abgeschnitten wird, aber durch 4600 geht. * Leider ist der Glaube nicht Teil der Programmierung, da es keine Magie in unserem gibt Arbeit - funktioniert Ihr Code mit kleineren Dateien, möglicherweise weniger als 1000 Zeilen? Wie genau bricht der Code? –