Danke schon mal fue die Hilfe
eine Spalte aus einer Tabelle rausbekomen
@tati: es motiviert Antwortende wenig, wenn der Fragensteller seine eigenen Bemühungen nicht zeigt. Wie man das csv-Modul verwendet, steht in der Dokumentation, wie man mit Listen arbeitet, in jedem Tutorial. Das Forum ist kein kostenloser Programmierservice. Wo soll man bei dieser Antwort anknüpfen?
ich weiss, dass es kein kostenloser Programmierservice ist, das brauche ich auch nicht. Ich will es selber verstehen und können, bin aber ein absoluter Anfänger im programmieren, deswegen fällt es sehr schwer am Anfang. Mit Listen habe ich es versucht, da bekomme ich doch aber nicht die ganze Spalte raus oder? und womit man das noch machen kann, weiss ich leider nicht
Folgenden Code müsstest du verstehen, wenn du mit csv.reader experimentiert hast.
Wenn da schon Probleme sind, dann arbeite noch mal die Dokumentation durch und frag hier wenn das nicht weiterhelfen sollte.
Jetzt brauchst du nur noch vor der Schleife eine Liste definieren der du in der Schleife den Wert aus der gewünschten Spalte hinzufügst. Nach Ablauf der Schleife hast du dann alle Daten der Spalte in der Liste vorliegen.
Code: Alles auswählen
import csv
filename = 'myfile'
with open(filename, 'r') as csv_file:
reader = csv.reader(csv_file, delimiter=';')
for row in reader:
print(row)Jetzt brauchst du nur noch vor der Schleife eine Liste definieren der du in der Schleife den Wert aus der gewünschten Spalte hinzufügst. Nach Ablauf der Schleife hast du dann alle Daten der Spalte in der Liste vorliegen.
danke fuer Ihre Antwort!
habe es jetzt so geloest:
allerdings bekomme ich immer noch die Fehlermeldung:
ich verstehe nicht, warum es einen Fehler meldet, obwohl ich die richtige Spalte angezeigt bekomme
habe es jetzt so geloest:
Code: Alles auswählen
import csv
with open('mfile.csv','r', newline='') as f:
reader = csv.reader(f, delimiter='\t')
for col in reader:
print(col[5])Code: Alles auswählen
Traceback (most recent call last):
File "assing.py", line 35, in <module>
print(col[5])
IndexError: list index out of rangeCode: Alles auswählen
print(col[5:6])- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Es kann nicht sein, dass du sowohl die Fehlermeldung als auch die gewuenschte Spalte siehst. Kann es sein, dass die CSV unregelmaessig ist und nicht immer (mindestens) 6 Spalten hat?
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
nein, die csv ist schon regelmaessig.
das wurde angezeigt:
und nur, wenn ich geschrieben habe, wurde die Fehlermeldung behoben
das wurde angezeigt:
Code: Alles auswählen
KOUS
PPER
PTKA
ADJD
VVPP
VAFIN
$,
VVFIN
NE
APPR
NE
$,
KOUI
ART
ADJA
NN
PTKZU
VAINF
$,
ART
NN
$.
Traceback (most recent call last):
File "assign.py", line 26, in <module>
print(col[5])
IndexError: list index out of rangeCode: Alles auswählen
print([5:6])- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Dein "Fix" funktioniert deshalb:
Aber das ist keine wirkliche Loesung. Zumal es ja ein ganz anderes Ergebnis als `col[5]` ist.
Ich tippe mal darauf, dass deine Datei mit einer Leerzeile o.ae. endet.
Code: Alles auswählen
In [7]: [][5:6]
Out[7]: []Ich tippe mal darauf, dass deine Datei mit einer Leerzeile o.ae. endet.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Warum helft ihr ihm überhaupt damit, es ist doch offensichtlich, dass er keine Ahnung hat was er da tut. Dann sollte man sich auch nicht wundern, wenn immer mehr Leute kommen mit "Hi, ich hab folgendes Problem, bitte löst das!"
Zum Thema:
Lies dir was zu Listen, Indizes und dem richtigen Interpretieren von Fehlermeldungen durch.
Dein Code holt sich nacheinander die Zeilen aus der CSV Datei und greift dann auf deren 5. Element zu. Wenn eine Zeile aber kein 5. Element hat (zB weil sie leer ist), dann gibt das einen Fehler.
Zum Thema:
Lies dir was zu Listen, Indizes und dem richtigen Interpretieren von Fehlermeldungen durch.
Dein Code holt sich nacheinander die Zeilen aus der CSV Datei und greift dann auf deren 5. Element zu. Wenn eine Zeile aber kein 5. Element hat (zB weil sie leer ist), dann gibt das einen Fehler.
Wir geben Anstöße für die korrekte Richtung. Das Lesen der Dokumentation und das Durcharbeiten des Tutorials hingegen muss der Fragesteller schon selber machen.AxXel001 hat geschrieben:Warum helft ihr ihm überhaupt damit, es ist doch offensichtlich, dass er keine Ahnung hat was er da tut.
