From 0807e766bc7c02613fc74570b6f46790412270cf Mon Sep 17 00:00:00 2001
From: "manuela.richter" <manuela.richter@tu-darmstadt.de>
Date: Fri, 6 May 2022 11:12:23 +0200
Subject: [PATCH] read out json file for specific data

---
 test_data.json | 23 ++++++++++++++++++-----
 trial_json.py  | 35 ++++++++++++++++++-----------------
 2 files changed, 36 insertions(+), 22 deletions(-)

diff --git a/test_data.json b/test_data.json
index 5641270..26f8580 100644
--- a/test_data.json
+++ b/test_data.json
@@ -1,11 +1,24 @@
 {
-    "KPI":[
-    {"Name": "Attribut_1",
+    "Pumps":[
+    {"Name": "Pump_1",
+    "Manufacturer": "Company A",
     "Unit": "Percentage",
-    "Value": 43},
-    {"Name": "Attribut_2",
+    "Efficiency": 43},
+    {"Name": "Pump_2",
+    "Manufacturer": "Company B",
     "Unit": "Percentage",
-    "Value": 56
+    "Efficiency": 56
     }
+    ],
+    "Motors":[
+        {"Name": "Motor_1",
+        "Manufacturer": "Company A",
+        "Unit": "Percentage",
+        "Efficiency": 90},
+        {"Name": "Motor_2",
+        "Manufacturer": "Company B",
+        "Unit": "Percentage",
+        "Efficiency": 85
+        }
     ]
 }
\ No newline at end of file
diff --git a/trial_json.py b/trial_json.py
index cd55693..f944608 100644
--- a/trial_json.py
+++ b/trial_json.py
@@ -42,27 +42,28 @@ def findkeys(node, kv):
 #%% main script
 with open("test_data.json","r+") as file:
     data = json.load(file)
-    #print(len(data))
-    #print(type(data))
-    
-#print(data["Name"])
 
 a = data.keys()
-print(a)
-print(type(a))
+#print(a)
 
+# read out key - value - pairs
 for i in a:
-    print(i)
     key = data[i]
-    print(len(key))
-    print(type(key))
-    for j in key:
-        attrs = list(j)
-        print(len(attrs))
-        print(type(attrs))
-        print(attrs)
-        print(j)
+    for j in range(0,len(key)):
+        #print(j)
+        dic = key[j]
+        attrs = list(dic.keys())
+        for x in attrs:
+            name = list(findkeys(dic, x))
+            #print("Maschinenart", i, "Das Attribut",x, "hat den Wert", name)
 
+# find specific data
+machine = "Pumps"
+attribut = "Efficiency"
 
-
-print(list(findkeys(data, 'KPI')))
\ No newline at end of file
+data_pumps = data[machine]
+print(len(data_pumps))
+for c in range(0,len(data_pumps)):
+    name_pump = list(findkeys(data_pumps[c], "Name"))
+    efficiency_pump = list(findkeys(data_pumps[c], attribut))
+    print("Die Pumpe",str(name_pump),"besitzt den Wirkungsgrad", efficiency_pump)
\ No newline at end of file
-- 
GitLab