z.B._pr3_skriptspr_team12_s2/s2_a3.py

63 lines
1.6 KiB
Python

import re
import json
person_list = []
with open("Studienleistung2/Personen.txt") as input:
for lines in input:
current_line = lines.split(",")
titel = re.findall(r"([A-Z][a-z]+\.)", current_line[0])
name = re.findall(r"([A-Z][a-z]+[^\.]*$)", current_line[0])
name = re.split("\s", name[0])
# getting the fragments building the whole name
first_name = name[0]
# if there are more than one second names
second_name = ""
counter = 1
while counter<len(name)-1:
second_name = second_name + name[counter] + " "
counter += 1
# -1 to get the last elem of the list name
last_name = name[-1]
address = re.findall(r"(.+)([1-9]+).([\d]{5})(.+)", current_line[1])
address = address[0]
street_name = address[0]
house_number = address[1]
plz = address[2]
city = address[3]
geb_date = re.findall("([0-9][0-9]\.[0-9][0-9]\.[0-9][0-9][0-9][0-9])", current_line[2])
tel = re.findall("(\d{12,15})", current_line[3])
person = {
"titel": titel[0],
"Vorname": first_name,
"Zweitname": second_name,
"Nachname": last_name,
"Straße": street_name,
"Hausnummer": house_number,
"PLZ": plz,
"Stadt": city,
"Geb.Datum": geb_date[0],
"Tel.": tel[0],
}
person_list.append(person)
with open("Studienleistung2/Person_Neu.json", "w") as outfile:
json.dump(person_list, outfile, indent=2, ensure_ascii=False)