Power BI(PBIX) - 解析布局文件

时间:2021-03-27 11:53:33

标签: python powerbi powerbi-desktop

我正在尝试记录 PBIX 文件中使用的报告、视觉效果和度量。我有一个 PBIX 文件(包含一些视觉效果并在实时模式下指向表格模型),然后将其导出为 PBIT,重命名为 zip。现在在这个 zip 文件中,我们有一个名为 Report 的文件夹,其中有一个名为 Layout.js 的文件。布局文件看起来像一个 JSON 文件,但是当我尝试通过 python 读取它时,

import json
  
# Opening JSON file
f = open("C://Layout",)
  
# returns JSON object as 
# a dictionary
#f1 = str.replace("\'", "\"")
data = json.load(f)

我遇到以下问题,

JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

将其重命名为 Layout.json 也无济于事,并且会出现相同的问题。是否有一种简单的方法或解析器可以专门解析此布局文件并从中获取以下信息

Report Name | Visual Name | Column or Measure Name 

1 个答案:

答案 0 :(得分:0)

不确定您是否已经找到了问题的答案,但我一直在研究类似的问题。

为了正确解析文件,我必须这样做。 重要的是编码和所有空格替换。

然后数据将包含解析的对象。

with open('path/to/Layout', 'r', encoding="cp1252") as json_file:
        data_str = json_file.read().replace(chr(0), "").replace(chr(28), "").replace(chr(29), "").replace(chr(25), "")
    data = json.loads(data_str)