Browse Source

regex works partly

bscheibel 4 years ago
parent
commit
40c9ec3de5
2 changed files with 48 additions and 14 deletions
  1. 22 4
      csv_to_pandadf.py
  2. 26 10
      regex_extraction.py

+ 22 - 4
csv_to_pandadf.py

@@ -1,7 +1,25 @@
 import pandas
+import csv
+import re
+#data_df = pandas.read_csv("values.csv", sep=",")
+#print(data_df.head(3))
 
-data_df = pandas.read_csv("values.csv", sep=",")
-print(data_df.head(3))
+#data = data_df[["X1","Y1","X2","Y2"]]
+#print(data)
+
+text = []
+with open('text_merged.csv', 'r') as csvFile:
+    reader = csv.reader(csvFile, delimiter=",")
+    for row in reader:
+        text.append(row[2])
+csvFile.close()
+###extract ISOs
+matches = []
+regex = r"(ISO\s\d\d\d\d?\W?\d?\W?\d?\W?\d?)"
+for line in text:
+    match = re.findall(regex, line)
+    if match:
+        matches.append(match)
+
+print(matches)
 
-data = data_df[["X1","Y1","X2","Y2"]]
-print(data)

+ 26 - 10
regex_extraction.py

@@ -1,22 +1,38 @@
 # coding=utf8
 import re
 
-regex = r"(\S+\s{1,3}?\S*\s?\S*\S*\s?\S*\S*\s?\S*\S*\s?\S*\S*\s+)"
+regex = r"(\S+\s{1,3}?\S*\s?\S*\S*\s?\S*\S*\s?\S*\S*\s?\S*\S*\s+)" #alle gruppen von zahlen raus
 regex1 = r"([A-Z]\s?\W\s?\d\d?\s?\s?\W\s?\d\d?\s?\W)" #ti get the bezeichnungen raus
 regex2= r"([a-zA-Z]{3,})" #alle wörter raus???
+regex_isos = r"(ISO\s\d\d\d\d?\W?\d?\W?\d?\W?\d?)" #get iso standards
+reg = r"(^\d{1}$)" #einzelne Zahlen raus
+reg1 = r"(^[A-Z]-?[A-Z]?$)" #einzelne Buchstaben raus
 extracted_dimensions = []
-file=open('/home/bscheibel/PycharmProjects/dxf_reader/drawings/5152166_Rev04.txt', 'r')
-text= file.read()
+file = open('/home/bscheibel/PycharmProjects/dxf_reader/drawings/5129275_Rev01-GV12.txt', 'r')
+text = file.read()
 file.close()
 matches = re.findall(regex, text, re.MULTILINE)
 for match in matches:
         extracted_dimensions.append(match.strip())
-
-
+isos = []
+new_dims = []
 #next part replaces everything you do not need with whitespace
-string = "<font x=''>test</font> <font y=''>test2</font> <font z=''>test3</font>"
-if re.search("(<font .*?>)", string, re.IGNORECASE):
-        r = re.compile(r"</?font.*?>", re.IGNORECASE)
-        string = r.sub(r'', string)
+for dim in extracted_dimensions:
+        if re.search(regex_isos, dim):
+                match = re.findall(regex_isos,dim)
+                isos.append(match[0])
+                dim = re.sub(regex_isos,'' ,dim)
+        if re.search(regex1, dim):
+                dim = re.sub(regex1, '', dim)
+        if re.search(regex2, dim):
+                dim = re.sub(regex2,'' ,dim)
+        if re.search(reg, dim):
+                dim = re.sub(reg,'' ,dim)
+        if re.search(reg1, dim):
+                dim = re.sub(reg1,'' ,dim)
+        if dim != '':
+                new_dims.append(dim)
 
-print(extracted_dimensions)
+print(isos)
+for dim in new_dims:
+        print(dim)