machen Wörterbuch aus csv-Datei die Spalten
ich bin neu auf dem Konzept von dictionaries in python.
Ich habe eine csv-Datei mit mehreren Spalten und ich möchte, um ein Wörterbuch zu erstellen, so dass die Schlüssel sind aus der 1. Spalte und die Werte aus der zweiten und einem key:value paar wird für alle Zeilen der beiden Spalten.
Der code ist wie folgt:
if __name__=="__main__":
reader = csv.reader(open("file.csv", "rb"))
for rows in reader:
k = rows[0]
v = rows[1]
mydict = {k:v}
print (mydict)
problem: Die zurückgegebenen Ausgabe ist nur für die "letzten" oder "untersten" Zeile die beiden ersten Spalten, d.h. {'12654':'18790'}. ich will das Wörterbuch enthält alle 100 Zeilen der ersten beiden Spalten in diesem format. Wie macht man das? kann ich führen eine Schleife über die Zeilen-zahlen für die ersten beiden Spalten zu tun, dass...ich weiß nicht wie.
- Meinst du, dass die keys aus der ersten Reihe?
- hier der code nimmt Schlüssel aus der letzten Reihe (zwei Spalten der letzten Zeile), aber ich will, dass es in der Folge von der 1. bis letzten über zwei Spalten jeder Zeile meiner Datei.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier:
Sie neue Wörterbuch bei jeder iteration, und die vorherigen Daten verloren sind.
Update:
Können Sie so etwas wie dieses:
Diese Weise, jeder Wert den gleichen Schlüssel gespeichert werden
Wird sich der code:
Update2: meinst Du?
Update3:
Sollte dies funktionieren:
Erstellen Sie eine neue dict und überschreiben Sie die alte ein jeder iteration. @develerx Antwort behebt dieses problem. Ich wollte nur zeigen einen einfacheren Weg, mit dict-Verstehens:
Angenommen, die csv-Datei enthält zwei Spalten.
Wenn Sie mit einer älteren version(älter als 2.7 glaube ich), Sie nicht verwenden können, dict Verstehens, benutzen Sie einfach die dict-Funktion dann:
Edit: Und ich dachte nur, dass;
my_dict = dict(reader)
könnte auch funktionieren.