使用tm1 rest api,我可以从post请求中获取数据。
Date: 2018-04-11 14:43
Status: 201
Content-Type: application/json; odata.metadata=minimal; odata.streaming=true; charset=utf-8
Size: 2.86 MB
然后我使用以下命令将此响应转换为json格式:
fromJSON(content(data, type = "text"))
然后它出现了:
*更新:
现在我安装了Jsonlite,我得到了一个数据帧:
其中层次结构[[ 1 ]]和Outcome表示5个列名称,而元组[2]和[1]表示这些行的值5列。
[value] Cells,是最后一列,已经是数据帧格式。
但所有变量似乎都是一个列表,并且[值]上只出现一个独特的数据帧。
我试过了:
df_list <- list( df[["Axes"]][["Hierarchies"]], df[["Axes"]][["Tuples"]], df[["Cells"]][["Value"]])
但是,我并不确切知道如何正确合并。
在python中,使用此脚本进行此转换:
def build_pandas_dataframe_from_cellset(cellset, multiindex=True, sort_values=True):
"""
:param cellset:
:param multiindex: True or False
:param sort_index: Boolean to control sorting in result DataFrame
:return:
"""
cellset_clean = {}
for coordinates, cell in cellset.items():
element_names = element_names_from_element_unqiue_names(coordinates)
cellset_clean[element_names] = cell['Value']
dimension_names = tuple([unique_name[1:unique_name.find('].[')] for unique_name in coordinates])
# create index
keylist = list(cellset_clean.keys())
index = pd.MultiIndex.from_tuples(keylist, names=dimension_names)
# create DataFrame
values = list(cellset_clean.values())
df = pd.DataFrame(values, index=index, columns=["Values"])
if not multiindex:
df.reset_index(inplace=True)
if sort_values:
df.sort_values(inplace=True, by=list(dimension_names))
return df
我想做类似的一步。