为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用python解码编码的excel文件

如何使用python解码编码的excel文件

慕哥9229398 2021-08-19 17:40:23
我的 Java 程序员将一个 excel 文件转换为二进制文件并将二进制内容发送给我。他使用sun.misc.BASE64Encoder和sun.misc.BASE64Decoder()进行编码。我需要使用 python 将该二进制数据转换为数据帧。数据看起来像,UEsDBBQABgAIAAAAIQBi7p1oXgEAAJAEAAATAAgCW0NvbnRlbnRfVHl........我试过bas64解码器但没有帮助。我的代码:import base64with open('encoded_data.txt','rb') as d:    data=d.read()print(data)`UEsDBBQABgAIAAAAIQBi7p1oXgEAAJAEAAATAAgCW0NvbnRlbnRfVHl........`decrypted=base64.b64decode(data)print(decrypt)  'PK\x03\x04\x14\x00\x06\x00\x08\x00\x00\x00!\x00b\xee\x9dh^\x01\x00\x00\x90\x04\x00\x00\x13\x00\x08\x02[Content_Types].xml \xa2\x04\x02(\xa0\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00请帮我将此二进制数据转换为熊猫数据框。
查看完整描述

2 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

您也可以使用 openpyxl 模块这里是修改后的代码


import base64

import io

import openpyxl


with open('encoded_data.txt','rb') as d:

    data=d.read()

print(data)

decrypted=base64.b64decode(data)

print(decrypted)


xls_filelike = io.BytesIO(decoded_data)

workbook = openpyxl.load_workbook(xls_filelike)

sheet_obj = workbook.active

max_col = sheet_obj.max_column 

max_row = sheet_obj.max_row


# Will print all the row values

for i in range(1, max_row +1):

    for j in range(1, max_col + 1):         

        cell_obj = sheet_obj.cell(row = i, column = j) 

        print cell_obj.value, 

        print ",", "Inorder to seperate the cells using comma for readability

    print ""


查看完整回答
反对 回复 2021-08-19
  • 2 回答
  • 0 关注
  • 190 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信