Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import csv
import os
from bs4 import BeautifulSoup
def crawlerXML(file_path):
with open(file_path, mode='r', encoding='utf-8') as file:
content = file.read()
file.close()
doc = BeautifulSoup(content, "xml")
return doc
verpflegung = dict()
def fill_dict(kaufbeuren=True):
if kaufbeuren:
filename = r"C:\Users\Nina\FAUbox\IdeaProjects\patientenbriefe\tables\Kaufbeuren-bearbeitet - Kaufbeuren_bearb.csv"
else:
filename = r"C:\Users\Nina\FAUbox\IdeaProjects\patientenbriefe\tables\copadocs_patienten_westfalen - Tabelle1.csv"
with open(filename, 'r', encoding='utf-8') as csvfile:
datareader = csv.reader(csvfile)
first = True
if not kaufbeuren:
counter = 0
for row in datareader:
if kaufbeuren and first:
first = False
continue
elif not kaufbeuren and counter < 6:
counter += 1
continue
else:
if kaufbeuren:
verpflegungsklasse = row[28]
verpflegungsklasse = "k.A" if verpflegungsklasse == "" else verpflegungsklasse
aktennummer = "kfb" + row[0] #.split(' ')[0]
aktennummer = aktennummer.replace(' ', '')
verpflegung[aktennummer] = verpflegungsklasse
else:
kuerzel = row[0][:3].lower()
kuerzel = kuerzel.replace('ü', 'u')
#kuerzel.replace('ä', 'a')
kuerzel = "mrs" if kuerzel == "mar" else kuerzel
aktennummer = kuerzel + row[1]
verpflegungsklasse = row[25]
aktennummer = aktennummer.replace(' ', '')
verpflegung[aktennummer] = verpflegungsklasse
fill_dict(kaufbeuren=True)
fill_dict(kaufbeuren=False)
rootdir = r"C:\Users\Nina\Documents\GitHub\copadocs\data"
#cwd = os.getcwd()
#rootdir = os.path.join(cwd, "teis")
# check directory names in corpus
for file in os.listdir(rootdir):
d = os.path.join(rootdir, file)
if os.path.isdir(d):
written = False
for subfile in os.listdir(d):
kuerzel = subfile[:3]
xmlfile = os.path.join(d, subfile)
if not os.path.isdir(xmlfile):
if subfile[-3:] != "xml":
continue
print(xmlfile)
soup = crawlerXML(xmlfile)
aktennummer = kuerzel + soup.find("idno").text
aktennummer = aktennummer.replace(' ', '')
klasse = verpflegung[aktennummer]
state = soup.particDesc.state
for p in state.find_all("p"):
if p.text.startswith("Verpflegungsklasse"):
p.decompose()
verpflegungs_tag = soup.new_tag("p")
verpflegungs_tag.insert(0, "Verpflegungsklasse: " + klasse)
state.insert(6, verpflegungs_tag)
text = str(soup)
with open(xmlfile, mode='w', encoding='utf-8') as file:
# file.write(str(doc.prettify(formatter="none")))
file.write(text)
file.close()