我使用python脚本连接到API。收到的回复如下。我需要将这些数据转换成多级表,然后再导入到PowerBI中,因为它具有几级数据(例如,“房间”被进一步拆分并产生了问题)
API的响应如下:
{"data": {"code": "AZ-0001", "date_from": "23/12/2019", "date_to": "25/12/2019", "rsrv_date": "06/12/2019", "rooms": [{"rrid": 4057782, "room_name": "STD", "date_from.......
然后使用Python Dataframe进行转换。这是我从Python获取数据的python脚本
import requests
import pandas as pd
import xml.etree.ElementTree as et
import json
uspw=('<API KEY>', None)
data= {'rcode': 'AZ-0001'}
response= requests.post('https://kapi.wubook.net/kapi/rsrvs/reservation', data, auth= uspw)
data = response.text
print(data)
#df = pd.read_json(data, orient='split')
from pandas.io.json import json_normalize
jdata = json.loads(data)
df = pd.DataFrame(jdata)
#dg = json_normalize(data)
print (df)
如您所见,列房间数据未拆分。如何将其拆分为单独的列?非常感谢。
答案 0 :(得分:0)
您必须将json保存到文件中,然后作为新查询导入(获取数据> Json)。 另一种方法是在高级编辑器中将这些步骤添加到查询中:
jsonParser = Json.Document(#"PreviousStep"[json]{0}),
#"Converted to Table" = Table.FromList(jsonParser , Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
#"Converted to Table"
请确保将#“ PreviousStep”替换为您上一步的名称。