2016-04-26 2 views
2

Ich bin sehr neu in Python, so versuche ichWie mit Daten aus JSON Ausgabe in Python eine Tabelle erstellen

Mein json Ausgang unter

aussieht wie gezeigt
{ 
    "tags":[ 
     { 
    "stats":{ 
     "rawCount":9 
    }, 
    "name":"Temperature1", 
    "results":[ 
     { 
      "attributes":{ 
       "Location":[ 
       "3rd Floor" 
       ], 
       "Sensor-Serial-Number":[ 
       "PT100" 
       ] 
      }, 
      "values":[ 
       [ 
       1460958592800, 
       24.2, 
       3 
       ], 
       [ 
       1460958602800, 
       24.1, 
       1 
       ], 
       [ 
       1460958612800, 
       23.9, 
       1 
       ], 
       [ 
       1460958622800, 
       24.2, 
       1 
       ], 
       [ 
       1460958632800, 
       24.5, 
       1 
       ], 
       [ 
       1460958642800, 
       24.9, 
       1 
       ], 
       [ 
       1460958652800, 
       24.6, 
       1 
       ], 
       [ 
       1460958662800, 
       24.7, 
       1 
       ], 
       [ 
       1460958672800, 
       24.7, 
       1 
       ] 
      ], 
      "groups":[ 
       { 
       "type":"number", 
       "name":"type" 
       } 
      ] 
     } 
    ] 
     } 
    ] 
} 
einen Datenrahmen von meiner JSON Ausgabe zu erstellen

ich benötige nur Werte, ich brauche in einen Datenrahmen zu konvertieren, wie in der unten PIC gezeigt (klicken Sie auf den Link Zeitreihe Daten)

Timeseries data

+0

Sie bitte Ihre JSON-Daten in setzen ein Code-Tag für die Lesbarkeit. – Zillolo

+0

Ich machte es lesbar, bitte geben Sie mir die Lösung – user6255719

Antwort

2

versuchen, dies nur eine Liste von values von Ihrem json

import json 
import ast 
import pandas as pd 
mystr = """ 
{'tags': [{'name': 'Temperature1', 
    'results': [{'attributes': {'Location': ['3rd Floor'], 
    'Sensor-Serial-Number': ['PT100']}, 
    'groups': [{'name': 'type', 'type': 'number'}], 
    'values': [[1460958592800, 24.2, 3], 
    [1460958602800, 24.1, 1], 
    [1460958612800, 23.9, 1], 
    [1460958622800, 24.2, 1], 
    [1460958632800, 24.5, 1], 
    [1460958642800, 24.9, 1], 
    [1460958652800, 24.6, 1], 
    [1460958662800, 24.7, 1], 
    [1460958672800, 24.7, 1]]}], 
'stats': {'rawCount': 9}}]} 
""" 
val = ast.literal_eval(mystr) 
val1 = json.loads(json.dumps(val)) 
val2 = val1['tags'][0]['results'][0]['values'] 
print pd.DataFrame(val2, columns=["time", "temperature", "quality"]) 

das Ergebnis

  time temperature quality 
0 1460958592800   24.2  3 
1 1460958602800   24.1  1 
2 1460958612800   23.9  1 
3 1460958622800   24.2  1 
4 1460958632800   24.5  1 
5 1460958642800   24.9  1 
6 1460958652800   24.6  1 
7 1460958662800   24.7  1 
8 1460958672800   24.7  1 

die für

Dataset Tisch ist entpuppt sich zu ziehen
+1

Vielen Dank für Ihre Antwort Sameera, muss ich es in das Tabellenformat, wo die Spalten Zeit, Temperatur und Qualität sein würde. Bitte klicken Sie auf den Link in meinem vorherigen Post, wo in , ich befestigte das erforderliche Format – user6255719

+0

überprüfen Sie den Code jetzt @ user6255719 –

+1

Dank Sameera, machte mein Leben einfach, ich versuchte For Schleifen – user6255719

Verwandte Themen