У меня есть простое приложение с пользовательским интерфейсом, созданное в PyQt5. Я хотел бы иметь все мои файлы ресурсов в ресурсах qrc.
Я использую структуру данных pickle для хранения ранее созданного DataFrame. В моем приложении я читаю сохраненный рассол с пандами. Когда я пытался сделать это из модуля python qrc_resources (созданного с pyrcc5), я получаю сообщение об ошибке.
Я использовал тот же подход, что и в этом ответе:
Создание кадра данных pandas из файла ресурсов qrc
Файл ресурсов:
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file alias="AA_data.pkl">resources/AA_data.pkl</file>
</qresource>
</RCC>
Код Python:
import bisect, io
import pandas as pd
from PyQt5.QtGui import QImage
from PyQt5.QtCore import QFile, QIODevice
import qrc_resources
file = QFile(':/AA_data.pkl')
if file.open(QIODevice.ReadOnly):
f = io.BytesIO(file.readAll().data())
AA_df = pd.read_pickle(f)
Error:
ValueError: Unrecognized compression type: infer
Если я делаю подобное с файлом Excel, это работает. Но с форматом файла pickle я получаю ошибку. Я не очень хорошо знаком с сериализацией данных и не могу понять, что я делаю не так.
Любая помощь будет оценена.
С наилучшими пожеланиями