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.
File “D:\andreas\Programmierung\Python\bestenliste_laufen\running_results\distances\admin.py”, line 30, in import_csv
for row in reader:
_csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)
if request.method == "POST":
with io.TextIOWrapper(request.FILES["csv_file"], newline='\n') as text_file:
reader = csv.reader(text_file, delimiter=';')
# todo get highest sort number
sort = 1
for row in reader:
bekomme ich aber leider noch den Fehler
File "D:\andreas\Programmierung\Python\bestenliste_laufen\running_results\distances\admin.py", line 37, in import_csv
for row in reader:
ValueError: I/O operation on closed file.
@pythoner: Die Datei *ist* offen. Dein Problem ist wohl eher das Du sie nicht schliessen solltest, beziehungsweise darauf zugreifen solltest solange sie noch offen ist. Kann man jetzt aber nur raten, weil man in dem Beitrag die Einrückung nicht erkennen kann.
Das `newline`-Argument sollte die leere Zeichenkette gebunden werden. Siehe Dokumentation vom `csv`-Modul. Und die Kodierung würde man besser auch noch angeben.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
with io.TextIOWrapper(request.FILES["csv_file"], encoding="utf-8", newline='\n') as text_file:
reader = csv.reader(text_file, delimiter=';')
for row in reader: