Я пытаюсь проверить файл PowerBI .pbix
с помощью библиотеки zipfile
Python.
При распаковке архива .pbix
я получаю следующую структуру:
DataMashup
DataModel
DiagramLayout
Metadata
Report
ReporLayout
ReporStaticResources
ReporStaticResourceSharedResources
ReporStaticResourceSharedResourceBaseThemes
ReporStaticResourceSharedResourceBaseThemeCY18SU07.json
SecurityBindings
Settings
Version
[Content_Types].xml
Похоже, что файл DataMashup
в архиве .pbix
является своего рода некондиционным архивом каталога.
Объект DataMashup
не выглядит сжатым, как я могу легко прочитать xml
данные при печати объекта в интерпретаторе python.
Использование 7zip
Я могу получить доступ ко всему, что находится внутри:
DataMashup/
Config/
Package.xml
Formulas/
Section1.m # m and/or dax looking stuff
[Content_Types].xml
Как я могу обнаружить формат DataMashup
архив в архиве?
Одна подсказка находится в двоичных данных в верхней части объекта DataMashup
: \x00\x00\x00\x00\x07\x05\x00\x00PK
, что может указывать на pkzip.
Другой подсказкой может быть этавывод при попытке использовать unzip
в файле DataMashup
:
$ unzip DataMashup
Archive: DataMashup
warning [DataMashup]: 6215 extra bytes at beginning or within zipfile
Мне удалось распаковать каталог DataMashup
в linux с помощью 7za
:
WARNINGS:
There are data after the end of archive
--
Path = DataMashup
Type = zip
WARNINGS:
There are data after the end of archive
Offset = 8
Physical Size = 1303
Tail Size = 5148
Everything is Ok
Archives with Warnings: 1
Warnings: 1
Files: 3
Size: 2040
Compressed: 6459
Несмотря на предупреждения, файлы выглядят хорошо. К сожалению, это не помогает мне в Windows.