Страницы

Поиск по вопросам

среда, 26 февраля 2020 г.

Как распарсить JSON в таблицу с 3 колонками при помощи MS SQL?

#python #json #sql_server #парсер


Есть json следующей стуктуры:

{
    "target": "A",
    "datapoints": [
      [ 1404.5, 1547596800 ],
      [ 1536.5, 1547683200 ],
      [ 1683.6666666666667, 1548115200 ],
      [ 1789.75, 1548201600 ]
    ]
  },
  {
    "target": "B",
    "datapoints": [
      [ 1518.0, 1547596800 ],
      [ 1547.5, 1547683200 ],
      [ 1580.6666666666667, 1548115200 ],
      [ 1593.0, 1548201600 ]
    ]
  }


Как мне распарсить это в таблицу с тремя колонками при помощи SQL? Если с SQL  невозможно
сделать, то подскажите, пожалуйста, как сделать это на Python?
Примерно так должно быть:

Target|Value|Time
A|1404.5|1547596800
A|1536.5|1547683200
...........
B|1593.0|1548201600 


Буду благодарен за любую помощь. Спасибо!
    


Ответы

Ответ 1



На Python, с использованием модуля Pandas: import json import pandas as pd # pip install pandas with open(json_file_name) as f: d = json.load(f) res = (pd.io.json.json_normalize(d, "datapoints", meta=["target"]) .rename(columns={0:"Value", 1:"Time"})) результат: In [42]: res Out[42]: Value Time target 0 1404.500000 1547596800 A 1 1536.500000 1547683200 A 2 1683.666667 1548115200 A 3 1789.750000 1548201600 A 4 1518.000000 1547596800 B 5 1547.500000 1547683200 B 6 1580.666667 1548115200 B 7 1593.000000 1548201600 B PS при помощи метода df.to_sql("sql_tab_name", sqlalchemy_engine, ...) можно сохранить Pandas DataFrame в таблицу БД.

Комментариев нет:

Отправить комментарий