ich arbeite mit dem Webframework Flask, welches bisher auch gut funktioniert.
Jetzt erhalte ich aber eine Fehlermeldung mit der ich so garnicht klar komme, bzw. verstehe ich den Hintergrund nicht.
Code: Alles auswählen
@app.route("/sorting")
def sorting():
#Database import
address = request.args.get("database")
if address == "None" or address == "":
ausgabe = "Keine Daten"
else:
database_read.original_file(address)
# Überschrift in einen Tupel umwandeln (nummerieren)
if address != "None":
headline_selection = database_read.headline_numbering("header.csv", "header_with_number.csv")
v_street = headline_selection
Code: Alles auswählen
# -*- coding: utf-8 -*-
import csv
def original_file(original_file_import):
counter = 10000000
with open(original_file_import, "r", encoding="utf-8") as input_cz, open("original_file_enriched.csv", "w", newline="",encoding="utf-8") as output_cz, open("header.csv", "w", newline="",encoding="utf-8") as header_cz:
entry_address = csv.reader(input_cz, delimiter=";")
cz_writer = csv.writer(output_cz, delimiter=";")
cz_header = csv.writer(header_cz, delimiter=";")
for address_line in entry_address:
counter = counter + 1
if counter == 10000001:
cz_header.writerow(address_line)
elif counter != 10000001:
address_line.insert(0, counter)
cz_writer.writerow(address_line)
def headline_numbering(header, headline_selection):
with open(header, "r", encoding="utf-8") as input_cz, open(headline_selection, "w",newline="",encoding="utf-8") as output_cz:
entry_address = csv.reader(input_cz, delimiter=";")
cz_writer = csv.writer(output_cz, delimiter=";")
for address_line in entry_address:
headline_with_counter = list(enumerate(address_line))
cz_writer.writerow(address_line)
return str(headline_with_counter)
Code: Alles auswählen
{% extends "layouts/main.html" %}
{% block content %}
<form method="get">
<label for="database">Daten:</label>
<input type="file" name="database" id="database" />
</br>
<input type="submit" value="Daten importieren" />
</br>
<label>PLZ Spalte:
<select name="zipcode">
<option>{{ v_street }}</option>
<option>{{ v_zipcode }}</option>
<option>{{ v_city }}</option>
</select>
</label>
</br>
</br>
</br>
<label for="weight">Gewicht(g):</label>
<input type="number" name="weight" id="weight" />
</br>
</br>
<label for="bundle_min">Bundminimum:</label>
<input type="number" name="bundle_min" id="bundle_min" />
<label for="bundle_max">Bundmaximum:</label>
<input type="number" name="bundle_max" id="bundle_max" />
</br>
</br>
<label for="pallet_min">Palettenminimum:</label>
<input type="number" name="pallet_min" id="pallet_min" />
<label for="pallet_max">Palettenmaximum:</label>
<input type="number" name="pallet_max" id="pallet_max" />
</br>
</br>
<input type="submit" value="Optimierung starten" />
</br>
</form>
{{ v1 }}
{% endblock %}
TypeError: expected str, bytes or os.PathLike object, not NoneType
Das komische ist, wenn ich PyCharm und damit den Webserver neu starte geht es. Wenn ich dann mal ein paar Dateien eingelesen
habe kommt es zu problemen. Ich bin echt überfragt und hoffe auf Eure Hilfe.