#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 в таблицу БД.
Комментариев нет:
Отправить комментарий