Seite 1 von 1
"Get"-Befehl in einer for-schleife
Verfasst: Mittwoch 3. November 2021, 09:28
von mapo
Ich suche einen Befehl, welcher mir in der for-schleife den Datensatz Reihe für Reihe herausgibt. Ich habe da an etwas wie get() gedacht, dass funktioniert jedoch nicht. Gibt es da einen passenden Befehl und wenn ja, welcher? Vielen Dank im Voraus und LG.
Re: "Get"-Befehl in einer for-schleife
Verfasst: Mittwoch 3. November 2021, 10:03
von sparrow
Das kommt darauf an, über welche Datenstruktur du iterierst. Das verschweigst du aber.
Ansonsten ist die Antwort: mit
for bist du auf dem richtigen Weg.
Re: "Get"-Befehl in einer for-schleife
Verfasst: Mittwoch 3. November 2021, 10:12
von mapo
@sparrow Ich will aus einer csv-datei die Daten haben
Re: "Get"-Befehl in einer for-schleife
Verfasst: Mittwoch 3. November 2021, 10:50
von rogerb
@mapo,
für csv-Dateien hat Python zum Beispiel das csv-Modul:
Dokumentation und Beispiel hier:
https://docs.python.org/3/library/csv.html#csv.reader
Re: "Get"-Befehl in einer for-schleife
Verfasst: Mittwoch 3. November 2021, 11:47
von mapo
@rogerb diese ist mir bekannt. Um mein Problem nochmal zu verdeutlichen:
Ich habe 2 csv-datei. Dabei will ich durch eine for-schleife die erste Zeile für Zeile auslesen und überprüfen, ob die Information ebenfalls in der 2ten Datei steht.
Code: Alles auswählen
import csv
h = open('Datei1.csv', 'r', newline='', encoding='utf-8')
f = open('Datei2.csv', 'r', newline='', encoding='utf-8')
daten = csv.reader(h, delimiter=';')
Liste = csv.DictReader(f, delimiter=',')
daten = list(daten)
for i in range(len(daten)):
if i['UserIds'] in Liste:
print("Ja")
So war meine erste Idee, jedoch ohne Erfolg
Re: "Get"-Befehl in einer for-schleife
Verfasst: Mittwoch 3. November 2021, 12:11
von __deets__
Dir ist doch schon im anderen Thema, das eigentlich das gleiche Problem diskutiert, ein Ansatz genannt worden: du musst eine Abbildung von Email auf die anderen Daten herstellen, mit einem Woerterbuch. Dann kannst du sowohl fragen, ob eine Email bereits bekannt ist, als auch dann die Daten zusammenfuehren.
Und um das klar zu machen: das hat nichts mit DictReader zu tun, der stellt nur die Daten einer Zeile anders dar. Skizziert:
Code: Alles auswählen
lookup_data = {}
for row in data: # kein len/range/Index-Gehampel.
lookup_data[row["Email"]] = row
for other_row in other_data:
email =other_row["Email"]
if email in lookup_data:
... # was auch immer dann mit beiden Datensaetzen passieren soll
Re: "Get"-Befehl in einer for-schleife
Verfasst: Mittwoch 3. November 2021, 12:26
von mapo
Vielen Dank @__deets__ Die Antworten in dem anderen Thema, waren absolut nutzlos um ehrlich zu sein. Ich habe aber den Ansatz jetzt verstanden, vielen Dank!
Re: "Get"-Befehl in einer for-schleife
Verfasst: Mittwoch 3. November 2021, 12:53
von __deets__
Das waren sie nicht. Nur weil du sie nicht verstanden hast, sind sie nicht nutzlos gewesen. Und hier hast du in einem neuen Thema auch lockere drei Posts gebraucht, bis wieder der Kontext da war, und klar, wo du hängst. Oder wie du es wohl ausdrücken würdest: zwei vollkommen nutzlose Posts. Da wäre ich ein bisschen vorsichtig damit anderen Nutzlosigkeit vorzuwerfen.