我的档案> https://drive.google.com/open?id=0BzmZiSDoM7l3U2poYWNTbUhBWVU
问题在于我从一个名为Geomodeller的软件中获取了这些数据,并希望将其加载到另一个名为REDBACK的软件中。
在gemododeller中,我创建了一个3D立方体并用数据加载它(这个数据有像蛋糕一样的层),并且在REDBACK中,显示的数据只是2D中各层的交集。
我已阅读帖子Python base64 data decode
通过https://stackoverflow.com/users/194586/nick-t实施代码 我得到了:
dtgt=base64.b64decode(target)
format=">ff"
for i in range(100):
print struct.unpack_from(format,dtgt,8*i)
(2.350988701644575e-38,1.1754943508222875e-38) (1.7826336565709476e + 29,6.64613997892458e + 35) Traceback(最近一次调用最后一次): 文件“”,第2行,in 错误:unpack_from需要至少8字节的缓冲区
我可以帮忙解决这个问题吗?
我的主管认为问题在于附加的数据,因此他希望首先获取附加数据中的所有内容,然后进一步分析问题。
答案 0 :(得分:1)
您文件中的附加数据似乎不是有效的Base64数据 - 除非可能在最后,否则应该没有等号。如果它真的应该由多个单独的编码数据块组成,那么你必须继续在连续的块上调用解码器,直到整个数据部分被处理完毕。 (你只获得两个数据点,因为你的解码器放弃了第一个" =="在文件中。)
基于文件头中的压缩器=" vtkZLibDataCompressor" ,数据可能采用压缩格式(这可以解释为什么您设法提取的两个数据点具有此类荒谬的大/小值)。希望Python的zlib
模块与此压缩兼容。