python与h5结合实例_使用h5py合并所有h5文件
您需要的是文件中所有数据集的列表。我认为这里需要的是recursive function的概念。这将允许您从一个组中提取所有的“数据集”,但是当其中一个看起来是组本身时,递归地执行相同的操作,直到找到所有数据集为止。例如:/
|- dataset1
|- group1
|- dataset2
|- dataset3
|- dataset4
伪代码中的函数应该如下所示:
^{pr2}$
例如:/dataset1是一个数据集:将路径添加到输出,给出out = ['/dataset1']
/group不是数据集:调用getdatasets('/group',file)/group/dataset2是一个数据集:将路径添加到输出,给出nested_out = ['/group/dataset2']
/group/dataset3是一个数据集:将路径添加到输出,给出nested_out = ['/group/dataset2', '/group/dataset3']
这是我们已经拥有的:out = ['/dataset1', '/group/dataset2', '/group/dataset3']
/dataset4是一个数据集:将路径添加到输出,给出out = ['/dataset1', '/group/dataset2', '/group/dataset3', '/dataset4']
此列表可用于将所有数据复制到另一个文件中。在
要制作一个简单的克隆,可以执行以下操作。在import h5py
import numpy as np
# function to return a list of paths to each dataset
def getdatasets(key,archive):
if key[-1] != '/': key += '/'
out = []
for name in archive[key]:
path = key + name
if isinstance(archive[path], h5py.Dataset):
out += [path]
else:
out += getdatasets(path,archive)
return out
# open HDF5-files
data = h5py.File('old.hdf5','r')
new_data = h5py.File('new.hdf5','w')
# read as much datasets as possible from the old HDF5-file
datasets = getdatasets('/',data)
# get the group-names from the lists of datasets
groups = list(set([i[::-1].split('/',1)[1][::-1] for i in datasets]))
groups = [i for i in groups if len(i)>0]
# sort groups based on depth
idx = np.argsort(np.array([len(i.split('/')) for i in groups]))
groups = [groups[i] for i in idx]
# create all groups that contain dataset that will be copied
for group in groups:
new_data.create_group(group)
# copy datasets
for path in datasets:
# - get group name
group = path[::-1].split('/',1)[1][::-1]
# - minimum group name
if len(group) == 0: group = '/'
# - copy data
data.copy(path, new_data[group])
当然,进一步的定制是可能的,这取决于您想要什么。你描述了一些文件的组合。那样的话你就得new_data = h5py.File('new.hdf5','a')
可能会给这条路加些什么。在
python与h5结合实例_使用h5py合并所有h5文件相关推荐
- python数据库应用开发实例_纯Python开发的nosql数据库CodernityDB介绍和使用实例
看看这个logo,有些像python的小蛇吧 .这次介绍的数据库codernityDB是纯python开发的. 先前用了下tinyDB这个本地数据库,也在一个api服务中用了下,一开始觉得速度有些不给 ...
- python传递类的实例_使用Python将变量从一个类实例传递到另一个类实例?
我在将一个类实例中定义的变量传递到另一个类实例时遇到问题.我对使用类比较陌生,但据我所知,变量可以通过简单地定义为类实例的一部分(例如在下面的示例中)从一个实例传递到另一个实例.虽然我以前使用过这个模 ...
- python导入数据聚类分析实例_聚类分析实战解析与总结 - 数据分析
聚类分析是没有给定划分类别的情况下,根据样本相似度进行样本分组的一种方法,是一种非监督的学习算法.聚类的输入是一组未被标记的样本,聚类根据数据自身的距离或相似度划分为若干组,划分的原则是组内距离最小化 ...
- python树莓派串口通信实例_树莓派通过串口发送数据
可以通过串口登陆树莓派,也可以通过串口向其他主机发送数据.树莓派的串口接受数据科技爱好者博客已经写过,可以参考这篇文章:树莓派与arduino串口通信实践.这篇文章教大家如果通过树莓派的串口发送数据. ...
- python树莓派串口通信实例_使用树莓派和Python实现ModbusTCP通讯
树莓派以强大的性能与低廉的价格,非常适合作为物联网终端设备,树莓派将现场传感器采集到的设备传输到监控中心时,可以采用不同的语言与通讯协议.在工业现场中,Modbus是非常常见的一种通讯方式,本文以py ...
- python 二分类的实例_深入理解GBDT二分类算法
我的个人微信公众号:Microstrong 微信公众号ID:MicrostrongAI 微信公众号介绍:Microstrong(小强)同学主要研究机器学习.深度学习.计算机视觉.智能对话系统相关内容, ...
- python量化交易策略实例_用 Python 实现你的量化交易策略
Python 的学习者中,有相当一部分是冲着爬虫去的.因为爬虫可以帮你解决很多工作和生活中的问题,节约你的生命.不过 Python 还有一个神秘而有趣的应用领域,那就是量化交易. 量化交易,就是以数学 ...
- python画散点图程序实例_【112】用python画散点图和直线图的小例子
import numpy as np import matplotlib.pyplot as plt import random # 数据量. SIZE = 13 # 纵轴数据.np.linspace ...
- python的函数式编程实例_函数式编程例子
函数式编程例子 [篇一:函数式编程例子] 在 08 年的时候 ( 这经历记忆犹新 ) 我也跟 lz 一样,翻了好多文章, google 了好几个星期,最后我知道它 是这么个东西: ul li 它是函数 ...
最新文章
- Java面试题汇总2021最新(集合泛型含答案下载)
- leetcode算法题--最大加号标志★
- Oracle OFA目录结构
- raptor累乘流程图_Markdown快速上手指南
- 一篇搞懂mysql中的索引(大白话版)
- USACO-Section1.4 Barn Repair (贪心算法)
- 一句话了解 v-show 和 v-if 的区别
- 小白Linux下安装mysql
- Dubbo 框架设计与源码解读(配置解析优先级、线程分配、负载均衡、容错方案)
- 面向对象随笔(super关键字)
- Win/Chomer美化
- Firebug工具的介绍与安装
- js链接oracle数据库语法,js连接oracle数据库
- webpack打包报错 [webpack-cli] TypeError: merge is not a function
- 搜狗推送工具只搜狗快速收录方法点解
- 尚硅谷Maven2022----②单一架构案例
- c51 c语言 16位二进制转换为bcd码,16位二进制转换为BCD码的C51汇编程序.doc
- springdata jpa in查询
- python中turtle库绘制图形_Python如何使用turtle库绘制图形
- 新整理的开源Odoo13发布更新的部分功能模块信息
热门文章
- java 图像梯度检测_数字图像处理-边缘检测
- 使用SpringMVC参数传递时,解决get请求时中文乱码的问题
- spring boot配置druid(德鲁伊)
- Query String Parameters、Form Data、Request Payload的区别
- 8客户端安装后无法启动_新君越涉水后车辆无法启动
- java有几种变量_java有多少种变量?java类变量怎么使用?
- 二级c语言基础题库100题,二级C语言上题库100题.doc
- linux下用c语言写黄金矿工,C语言写的黄金矿工O(∩_∩)O---初稿,能玩了
- c++如何快速写出get set_如何快速写出一篇合格的毕业论文
- Eclipse使用————Working Set工作集