【问题标题】:extract data from OLE structured data从 OLE 结构化数据中提取数据
【发布时间】:2016-09-10 11:50:10
【问题描述】:

我有一个用仪器测量的数据,它的格式是 .dat 是简单的 OLE 结构化存储。 我在这里上传了一个样本 http://www.filedropper.com/sample1

我搜索了很多,但找不到使用 Python 或 R 提取数据的方法。有人有解决方案吗?

【问题讨论】:

    标签: python r


    【解决方案1】:

    您可以将 Python 与 olefile 模块一起使用:pip install olefile

    然后读取并提取:

    import olefile
    ole = olefile.OleFileIO('sample1.dat')
    datastream = ole.openstream('3D Data')
    with open('extract.dat', 'wb') as f:
        data = datastream.read()
        f.write(data)
    

    【讨论】:

    • 我安装了 olefile 但我收到了这个错误 我首先将脚本和数据放在我桌面的一个文件夹中,然后我运行它 Admins-MacBook-Pro:HPLC_3D_data admin$ ls extract.py sample1。 dat Admins-MacBook-Pro:HPLC_3D_data admin$ python extract.py Traceback(最近一次调用最后):文件“extract.py”,第 1 行,在 import olefile ImportError: No module named olefile
    • @nik 看起来模块没有正确安装,您使用的是 Python 2 还是 Python 3?我在 2 测试过
    • 我使用的是 Mac,这是我的 python Admins-MBP 的版本:~ admin$ python -V Python 2.7.10
    • 你找到问题了吗?
    • @nik 在 OSX 10.10.5、Python 2.7.6 上运行良好 - 我使用 sudo easy_install olefile 安装模块
    【解决方案2】:

    我想我会在答案中发布我的发现。

    很抱歉,您似乎无法将 OLE 结构化数据以当前格式导入 R。

    OLEDB connection in R

    读取 .dat 文件非常简单(请参阅此处了解更多信息 import dat file into R),但 OLE 格式会使事情复杂化。我建议要么使用@chrki 提供的答案,要么提取为 OLE 以外的格式,然后将其读入 R。

    很抱歉,我无法提供更多帮助。

    【讨论】:

      【解决方案3】:

      您可以将 pillow 模块用于 Python 3.* 或 PIL 用于 Python 2.* 我使用 Python 3.4 所以:

      from PIL import OleFileIO
      dir(OleFileIO) # to see all the stuff available inside
      

      您可以从那里转储流和更多内容。

      关于 OleFileIO 的文档: Here

      【讨论】:

        猜你喜欢
        • 2020-06-19
        • 1970-01-01
        • 2012-02-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-15
        • 2018-09-27
        • 1970-01-01
        相关资源
        最近更新 更多