我有一个类似excel的数据结构,由我无法解码的字节组成。你知道吗
这是一个如下所示的列表:
my_object = [b'\xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1..., ........, b'\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff']
(请注意,我的\u对象的最后一行是实际的,并在这里完整地写了出来。)
如果我尝试独立解码行,我会得到:
my_object[-1].decode()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 3: invalid start byte
(请注意,我尝试了几种不同的编解码器,包括:“utf8”、“ascii”、“ISO-8859-2”、“gbk”、“拉丁语1”…)
但是,如果我尝试先将\u对象保存到文件中,请使用:
f = open('test.xls','wb')
[f.write(my_object[i]) for i in range(len(my_object))]
f.close()
然后用熊猫打开:
import pandas as pd
pd.read_excel('test.xls')
我得到了预期的结果:
Time (s) Acceleration x (m/s^2) Acceleration y (m/s^2) \
0 0.000000 0.863679 0.196953
1 0.002500 0.892268 0.206483
2 0.005001 0.844621 0.196953
......
这是一个很好的解决方法,但是,我真的希望避免从磁盘写入和读取来执行这样的操作。你知道吗
有人能帮忙吗?你知道吗
先谢谢你。你知道吗
如果只想在内存中已有原始字节的情况下读取excel文件,可以使用
io
包将字符串或字节转换为内存中的可读文件:相关问题 更多 >
编程相关推荐