PR3_Steinberger/SL2/s2_a3.py

74 lines
1.9 KiB
Python
Raw Normal View History

2023-01-09 14:16:43 +01:00
import re
import json
2023-01-10 13:29:30 +01:00
text_file = open(r"Name.txt", "r")
2023-01-09 14:16:43 +01:00
data = text_file.readlines()
arr = [None] * len(data)
counter = 1
2023-01-10 13:29:30 +01:00
text_file.close()
2023-01-09 14:16:43 +01:00
for line in data:
data_array = re.split(", ", line)
name = data_array[0]
name_array = re.split("\s",name)
adresse = data_array[1]
geburtsdatum = data_array[2]
telefon = data_array[3]
titel = re.search("^.*\.$",name_array[0])
if titel != None:
titel = titel.string
if len(name_array) == 4:
vorname = name_array[1]
zweitname = name_array[2]
nachname = name_array[3]
else:
vorname = name_array[1]
nachname = name_array[2]
zweitname = None
else:
if len(name_array) == 3:
vorname = name_array[0]
zweitname = name_array[1]
nachname = name_array[2]
else:
vorname = name_array[0]
nachname = name_array[1]
zweitname = None
adresse_array = re.split("\s", adresse)
plz = re.findall("\d{5}", adresse)
hausnummer = re.findall(r"\b\d{1,4}\b", adresse)
chars = re.split("\d",adresse)
strasse = chars[0]
ort = adresse_array[len(adresse_array)-1]
geburtsdatum = re.findall("[0-9][0-9]\.[0-9][0-9]\.[0-9][0-9][0-9][0-9]", line)
telefon = re.findall("\d{6,20}", line)
person = {
"Index" : counter,
"Titel" : titel,
"Vorname" : vorname,
"Zweitname" : zweitname,
"Nachname" : nachname,
"Geburtsdatum" : geburtsdatum,
"Strasse" : strasse,
"Hausnummer" : hausnummer,
"PLZ" : plz,
"Wohnort" : ort,
"Rufnummer" : telefon
}
arr[counter - 1] = person
counter = counter + 1
2023-01-10 13:29:30 +01:00
with open(r"PersonNeu.json", "w") as f:
json.dump(arr,f, indent=1, ensure_ascii=False)
f.close()