Не удается рассолитьЦелое число’> в python

#python #pickle #jpype #jaydebeapi

#python #рассол #jpype #jaydebeapi

Вопрос:

Я извлекаю данные из базы данных с использованием jaydebeapi pkg . Я хочу сериализовать данные (они находятся в формате списка кортежей), используя pickle .

Данные могут содержать разные типы классов java. Для определенного типа данных ( <java class 'java.lang.Integer'> ) я получаю следующее сообщение об ошибке:

 PicklingError: Can't pickle <java class 'java.lang.Integer'>: it's not found as java.lang.java.lang.Integer
  

Есть ли какой-нибудь способ это исправить? Или есть какой-либо известный обходной путь?

Большое спасибо!

Комментарии:

1. Не могли бы вы добавить (выдержку) из вашей реализации? Мне кажется странным, что он ищет java.lang.java.lang.Integer .

Ответ №1:

Вы должны использовать модуль JPype Pickle вместо pickle .

 from jpype.pickle import JPickler
  

Из документов:

Разрешены смешанные файлы рассола, содержащие объекты Java и Python.