Als erstes bekomme ich das hier nicht mit .append verknüpft.
Code: Alles auswählen
area_code_output_ok = address_line + area_code_output
Zweitens finde ich keine Lösung für das schreiben in zwei Files außerhalb der Schleife.
Gebe ich "database_error" außerhalb aus, bekomme ich über die komplette Datei solange den
fehlerhaften Datensatz bis der nächste fehlerhafte Datensatz gefunden wird, usw.
Wo finde ich dazu vielleicht ein gutes Handbuch?
Vielen Dank!
Code: Alles auswählen
# -*- coding: utf-8 -*-
import csv
pal_gebiete = {}
with open("anreicherung_utf8.csv", "r", encoding="utf-8") as entry_pal:
line_pal = csv.reader(entry_pal, delimiter=";")
for line in line_pal:
pal_gebiete[line[0]] = line[1:]
database_error = []
area_code_output = []
area_code_output_ok = []
with open("adressen.csv", "r", encoding="utf-8") as input, open("zip_ok.csv", "w", newline="", encoding="utf-8") as output_ok, open(
"zip_error.csv", "w", newline="", encoding="utf-8") as output_error:
entry_address = csv.reader(input, delimiter=";")
for address_line in entry_address:
postal_code = address_line[1]
if postal_code in pal_gebiete:
area_code_output = pal_gebiete[postal_code]
area_code_output_ok = address_line + area_code_output
database_output_ok = csv.writer(output_ok, delimiter=";")
database_output_ok.writerow(area_code_output_ok)
else:
database_error = address_line
database_output_error = csv.writer(output_error, delimiter=";")
database_output_error.writerow(database_error)
print(area_code_output_ok)