Ты почти у цели. Поскольку расшифрованный объект является строкой байтов, почему бы не использовать BytesIO
?
import io
import pandas as pd
toread = io.BytesIO()
toread.write(decrypted) # pass your `decrypted` string as the argument here
toread.seek(0) # reset the pointer
df = pd.read_excel(toread) # now read to dataframe
Отвечая на ваш вопрос из вашего комментария: Как преобразовать df в двоичный кодированный объект?
Что ж, если вы хотите преобразовать его обратно в объект в кодировке b64 с пандами, преобразующими его как excel, тогда:
towrite = io.BytesIO()
df.to_excel(towrite) # write to BytesIO buffer
towrite.seek(0) # reset pointer
encoded = base64.b64encode(towrite.read()) # encoded object
Чтобы записать закодированный объект в файл (просто чтобы закрыть цикл: P):
with open("file.txt", "wb") as f:
f.write(encoded)