datei auslesen und in einer dictionary einfügen.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
BlackJack

@Evilsadness: Diese Beschreibung macht keinen Sinn. Entweder sind die Felder mit ':' getrennt oder mit ','. Sollte das was Du da im Code-Block gezeigt hast, also wahrscheinlich das Ergebnis von ``str(vokabeln)``, in der Datei stehen, dann ist das keine CSV-Datei. Und so etwas solltest Du auch nicht machen, denn die Zeichenkettendarstellung von Wörterbüchern ist nicht unbedingt zum Speichern gedacht, weil es mit einlesen und einfachem aufteilen an ':' und ',' nicht getan ist. Wenn Du so etwas ähnliches Speichern und auch wieder laden möchtest, dann verwende das `json`-Modul. Aber schreibe so etwas nicht selbst — insbesondere nicht als Anfänger.
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Zumindest bei mir kommt als erster Link bei der Suche: http://www.python-kurs.eu/dictionaries.php
Dort wird beschrieben, wie man über ein Dictionary iteriert:

Code: Alles auswählen

for key in d:
	print d[key]
Alternativ kannst du auch

Code: Alles auswählen

for key, value in d.items():
    print key, value
verwenden.


Mal als Template:

Code: Alles auswählen

def make_line(key, value):
    '''
    >>> make_line('world', 'World')
    'world,World\n'
    ''' 
    return #your job

out = open("vokabeln - Kopie.csv", "w")
for key, value in words.items():
    out.write(make_line(key, value))

out.close()
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Evilsadness
User
Beiträge: 29
Registriert: Freitag 2. November 2012, 13:11

die beispiele wie man iteriert habe ich schon so angewendet. wusste jedoch nicht, dass man 2 werte gleichzeitig in einer for-schleide durchlaufen lassen kann:

Code: Alles auswählen

for key, value in d.items():
    print key, value
Habs jetzt fertig bekommen!!
Dank dieser Schleife ;D

Für vielen ist alles selbstverständlich, jedoch befasse ich mit mit Python erst seit 1 Monat parallel zu XML und Java.
So kommen kleinste Sachen wie nichts vor, doch für mich ist das nicht so selbstverständlich.

Auf jeden Fall !!! Vielen dank !!!
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Einmal fängt man immer an.

Wenn du magst, kannst du ja mal deinen Code zeigen, um Feedback zu bekommen, was man da besser machen könnte. Das ist meistens sehr lehrreich.

Edit: Zu der Schleife

Was ``items`` wirklich zurückgibt ist eine Liste von Tupeln. Zudem erlaubt es Python bei Collections wie Listen, Tupeln aber auch Mengen diese auszupacken und direkt Variablen zuzuweisen. Das ist vor allem bei Tupeln sinnvoll, klappt aber wie gesagt bei allen Typen, die iterierbar sind.

Code: Alles auswählen

x = ('world', 'Welt')
key, value = ('world', 'Welt')
key, value = x
a,b,c = {1, 2, 3} #no order
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Evilsadness hat geschrieben:was ich bisher versucht habe war, die key und value zutrennen:
Und genau das willst du doch eigentlich nicht. Du möchtest die einzelnen Einträge im Dictionary ja schon gemeinsam haben um sie gemeinsam wegschreiben zu können. Du hast keys gefunden, du hast values gefunden - items hast du übersehen.

Code: Alles auswählen

for key, value in vokabeln.iteritems():
    print key, value
Da items eine zusätzlich eine Liste aufbaut, die hier gar nicht benötigt wird, kann man es dann noch prima durch iteritems ersetzen.
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

/me hat geschrieben:
Evilsadness hat geschrieben:was ich bisher versucht habe war, die key und value zutrennen:
Und genau das willst du doch eigentlich nicht. Du möchtest die einzelnen Einträge im Dictionary ja schon gemeinsam haben um sie gemeinsam wegschreiben zu können. Du hast keys gefunden, du hast values gefunden - items hast du übersehen.

Code: Alles auswählen

for key, value in vokabeln.iteritems():
    print key, value
Da items eine zusätzlich eine Liste aufbaut, die hier gar nicht benötigt wird, kann man es dann noch prima durch iteritems ersetzen.
Willkommen auf Seite 2 8)
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

jbs hat geschrieben:Willkommen auf Seite 2 8)
Gut erkannt. :oops:
Antworten