zoukankan      html  css  js  c++  java
  • Python解析HDF文件 分类: Python 2015-06-25 00:16 743人阅读 评论(0) 收藏

    前段时间因为一个业务的需求需要解析一个HDF格式的文件。在这之前也不知道到底什么是HDF文件。百度百科的解释如下:

    HDF是用于存储和分发科学数据的一种自我描述、多对象文件格式。HDF是由美国国家超级计算应用中心NCSA(全称:National Center for Supercomputing Application)创建的,为了满足各种领域研究需求而研制的一种能高效存储和分发科学数据的新型数据格式。HDF可以表示出科学数据存储和分布的许多必要条件。

    使用Python解析当然会用到第三方的包,如下:

    import math
    import pandas as pd
    import xlwt

    第一个是用来做数学计算的math包主要处理数学相关的运算。至于关于pandas的介绍请点击这里。xlwt这个包是写HDF文件的。

    使用Python读取HDF文件的代码如下:

        with closing(pd.HDFStore(HDF_FILR_URL)) as store:
            df = store[date]
    
        # index shoule be end -> region -> group
        df.reset_index(inplace=True)
        df.set_index(["end", "region", "group"], inplace=True)
        df.sort_index(inplace=True)
    

    其实这样获取到数据之后就是pandas提供的函数,获取自己需要的数据。

        slice_df = df.loc[dt]
        rtt = slice_df.rtt.unstack(level=0) / 1000
        cwnd = slice_df.cwnd.unstack(level=0)
        total = slice_df.total.unstack(level=0)
        rows = rtt.index.tolist()
        columns = rtt.columns.tolist()

    最后写入Excel,代码如下:

    def writexcel(listname, name, time):
        #将数据写入Excel
        saveurl = EXCEL_FILR_URL + '%s_%s_%s.xls' % (AVG_RTT, time, name)
        excel_file = xlwt.Workbook()
        table = excel_file.add_sheet('tcpinfo')
    
        index_row = 0
        for item in listname:
            for item_key, item_value in item.items():
                table.write(index_row, 0, str(item_key))
                table.write(index_row, 1, str(item_value[1][0]))
                table.write(index_row, 2, str(item_value[1][1]))
                table.write(index_row, 3, str(item_value[0]).decode('utf-8'))
                index_row += 1
    
        excel_file.save(saveurl)

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    IOS 使用动态库(dylib)和动态加载framework
    iOS 开发者应该知道的 ARM 结构
    解惑好文:移动端H5页面高清多屏适配方案
    js 单例模式的实现方式----闭包和构造函数内部判断
    解决express video 手机无法播放的问题
    前后端通吃的单元测试---mocha
    swift-ios开发pod的使用(1)
    UI 自动化测试工具BackstopJS简介(1)
    阿里妈妈-RAP项目的实践(3)
    阿里妈妈-RAP项目的实践(2)
  • 原文地址:https://www.cnblogs.com/yisuowushinian/p/4715590.html
Copyright © 2011-2022 走看看