Pythond 读写HDF5文件
HDF(Hiearchical Data Format)是一种针对大量数据进行组织和存储的文件格式,可以存储不同类型的图像和数码数据的文件格式,并且可以在不同类型的机器上传输。
HDF是美国国家高级计算应用中心(National Center for Supercomputing Application,NCSA)为了满足各种领域研究需求而研制的一种能高效存储和分发科学数据的新型数据格式。它的通用性比较强,许多数据类型都可以被嵌入在一个HDF文件里。例如符号、数字和图形数据可以同时存储在一个HDF文件里。HDF还是跨平台的,是一种与平台无关的文件格式,无需任何转换就可以在不同平台上使用。
从20世纪八十年代起,NCSA陆续推出了HDF1~HDF4版本,HDF5发布于1998年,相比HDF4,HDF5具有以下改进:
- 被设计为一种新的格式用来改进HDF4.x,特别是每个文件可以存储更大的文件和更多的对象。
- 数据模式更简洁、更全面,它包含两个基本结构:多维数组记录结构,和分组结构。
- 更简洁、更利于工程库和应用编程接口,支持并行I/O,线程和其他一些现代系统和应用要求。
HDF5 是一种层次化的格式(hierarchical format),经常用于存储复杂的科学数据。例如 MATLAB 就是用这个格式来存储数据。在存储带有关联的元数据(metadata)的复杂层次化数据的时候,这个格式非常有用,例如计算机模拟实验的运算结果等,并且在技术上提供了丰富的接口,包含C,C++,Fortran, Python, Java等,能够在不同的语言间完美兼容。
HDF5在Python中的工具包是h5py,创建一个HDF5文件:
# -*- coding: utf-8 -*-
import h5py # 导入工具包
import numpy as np
# HDF5的写入:
imgData = np.zeros((30, 3))
with h5py.File('HDF5_FILE.h5', 'w') as f:
f['data'] = imgData # 将数据写入文件的主键data下面
f['labels'] = range(100) # 将数据写入文件的主键labels下面
# f.close() # 关闭文件
print '*.h5 Created.
或者:
# -*- coding: utf-8 -*-
import h5py # 导入工具包
import numpy as np
# HDF5的写入:
imgData = np.zeros((30, 3))
with h5py.File('HDF5_FILE.h5', 'w') as f:
f.create_dataset('data', data=imgData)
f.create_dataset('labels', data=range(100))
# f.close() # 关闭文件
print '*.h5 Created.'
读取.h5文件内容:
# -*- coding: utf-8 -*-
import h5py # 导入工具包
import numpy as np
# HDF5的读取:
with h5py.File('HDF5_FILE.h5', 'r') as f:
for item in f.keys():
print 'main key is: {}'.format(item)
content = f[item][:]
print 'key value of {0} is: {1}'.format(item,content)
# f.close()
Pythond 读写HDF5文件的更多相关文章
- (数据科学学习手札63)利用pandas读写HDF5文件
一.简介 HDF5(Hierarchical Data Formal)是用于存储大规模数值数据的较为理想的存储格式,文件后缀名为h5,存储读取速度非常快,且可在文件内部按照明确的层次存储数据,同一个H ...
- 使用h5py操作hdf5文件
HDF(Hierarchical Data Format)指一种为存储和处理大容量科学数据设计的文件格式及相应库文件.HDF 最早由美国国家超级计算应用中心 NCSA 开发,目前在非盈利组织 HDF ...
- [转载]C#读写txt文件的两种方法介绍
C#读写txt文件的两种方法介绍 by 大龙哥 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char ...
- 用opencsv文件读写CSV文件
首先明白csv文件长啥样儿: 用excel打开就变成表格了,看不到细节 推荐用其它简单粗暴一点儿的编辑器,比如Notepad++, csv文件内容如下: csv文件默认用逗号分隔各列. 有了基础的了解 ...
- 在.net中读写config文件的各种方法
阅读目录 开始 config文件 - 自定义配置节点 config文件 - Property config文件 - Element config文件 - CDATA config文件 - Collec ...
- MFC vs2012 Office2013 读写excel文件
近期在忙一个小项目(和同学一起搞的),在这里客户要求不但读写txt,而且可以读写excel文件,这里本以为很简单,结果...废话少说,过程如下: 笔者环境:win7 64+VS2012+Office2 ...
- Java读写资源文件类Properties
Java中读写资源文件最重要的类是Properties 1) 资源文件要求如下: 1.properties文件是一个文本文件 2.properties文件的语法有两种,一种是注释,一种属性配置. 注 ...
- c# 利用动态库DllImport("kernel32")读写ini文件(提供Dmo下载)
c# 利用动态库DllImport("kernel32")读写ini文件 自从读了设计模式,真的会改变一个程序员的习惯.我觉得嘛,经验也可以从一个人的习惯看得出来,看他的代码编写习 ...
- 用Python读写Excel文件(转)
原文:google.com/ncr 虽然天天跟数据打交道,也频繁地使用Excel进行一些简单的数据处理和展示,但长期以来总是小心地避免用Python直接读写Excel文件.通常我都是把数据保存为以TA ...
随机推荐
- LeetCode:翻转二叉树【226】
LeetCode:翻转二叉树[226] 题目描述 翻转一棵二叉树. 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 题目 ...
- UVALive 6915 J - Leveling Ground
思路: 简单模拟下.从左向右扫描一次,求出挖出该区间空地的花费,并取个最小值即可. 至于怎么求区间内的高度最小值,就用线段树就好了. #include <bits/stdc++.h> #d ...
- SQL server 数据库 操作及简单查询
使用SQL Sever语言进行数据库的操作 常用关键字identity 自增长primary key 主键unique 唯一键not null 非空references 外键(引用) 在使用查询操作数 ...
- html 基础 超链接
***设置超链接的样式示例 a:link 超链接被点前状态 a:visited 超链接点击后状态 a:hover 悬停在超链接时 a:active 点击超链接时 在定义这些状态时,有一个顺序l v ...
- 【JavaScript】动态的小球
参考: 1.CSS 对比 JavaScript 动画 2.CSS制作水平垂直居中对齐_水平居中, 垂直居中 教程_w3cplus:https://www.w3cplus.com/css/vertica ...
- git报错--RPC failed; curl 18 transfer closed with outstanding read data remaining
遇到的问题一: error: RPC failed; curl 18 transfer closed with outstanding read data remaining fata ...
- invalid derived query的解决办法
标签: eclipse / invalid / derived / 解决办法 / 校验功能 479 在Eclipse的运行过程中,突然有一个接口跳出如下错误: invalid derived quer ...
- ggplot2 specific command
# By default, the same scales are used for all panels. You can allow # scales to vary across the pan ...
- awk 连接字符串
awk中数据类型,是不需要定义,自适应的. 有时候需要强制转换.我们可以通过下面操作完成. 一.awk字符串转数字awk 'BEGIN{a="100";b="10test ...
- bzoj 1050: [HAOI2006]旅行comf(codevs.cn 1001 舒适的路线) 快排+并查集乱搞
没用的话:好像很久没发博客了,主要是懒太蒟找不到水题.我绝对没弃坑...^_^ 还用些话:本文为博主原创文章,若转载请注明原网址和作者. 进入正题: 先pa网址: bzoj :http://www.l ...