我的 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 ""
添加回答
举报
0/150
提交
取消