目标

  1. 如下,数据结构为一个list,然后list的每个元素都是一个tuple
  2. 但是当我尝试将此数据结构保存到h5文件中时
f = h5py.File('tets.h5','w')
f.create_dataset(code,data=df1)
f.close()
#HDF5的读取:
f = h5py.File('tets.h5','r')
list(f[code])

读取结果为:

结果将tuple自动转化为了array。

问题

查看源码之后发现h5py默认传入的是np.array,如果不是会进行各种检查,然后给你转化为np.array,而且从上面转化前后的结果,发现我的数据第一列转化前后数据类型发生了变化,由原来的int转换成了float,这也是h5py在转换过程中的精度损失。具体源码可以看:
create_dataset实现发放中的

然后追踪data参数即可

解决

先将list 即df1转化为np.array,,需要标注一下每列的数据类型,i表示int,f表示float

df1 = np.array(df1,dtype="i8,f,f")

此时正确写入。

python使用h5py写h5文件,写入tuple元组类型相关推荐

  1. python库——h5py读取h5文件

    h5py读取h5文件 h5文件像文件夹一样,可以在组里新建子组,最后子组里新建dataset 现在我们来读取h5文件中的各级组名称和dataset #打开文件 f = h5py.File('E:\PI ...

  2. 【python练手】yaml文件里存储元组类型tuple

    1.yaml 文件,写入时格式为tuple类型 如 YAML 文件里: info: (hahaha, "lalala") Python 读取出来的效果: {info: 'hahah ...

  3. python把数据写在文件内

    1.案例 # 保存学员信息 def save_student(self):# 1. 打开文件 有这个文件就是打开 没有就是创建f = open('student.data', 'w') # 创建或者打 ...

  4. Python基础教程:list列表、tuple元组、range常用方法总结

    list 列表(数组),是可迭代对象,列表是可变的所以列表的方法都是在列表本身更改的.里面看可以放各种数据类型的数据,可存储大量数据 连接列表可以使用 + 或 extend() a = [1, 3, ...

  5. Python数据容器、list列表、tuple元组、str字符串、数据容器(序列)切片、set集合、dict字典、字符串大小比较

    数据来源 01 数据容器 为什么学习数据容器 数据容器 总结 02 列表 1)列表定义 为什么需要列表 列表的定义语法 列表的定义方式 演示 """ 演示数据容器之:li ...

  6. python utf 8_python写utf-8文件的问题

    但当string只为ascii字符时,比如 txt = u"qwer" 这时生成的file仍旧为ascii格式 需要怎么做才能生成utf-8格式的文件? 答:UTF-8编码向下兼容 ...

  7. python引入自己写的文件_python引入自己写的Py文件

    原博文 2020-04-23 23:40 − 1.新建一个test_a.py文件 def print_sum(a,b): if(type(a)==int or type(b) == int): pri ...

  8. 小白用python处理excel文件-Python读、写Excel文件(三种模块三种方式,小白也可学会)...

    python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别: 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: 用pandas进行excel读写: 为了方 ...

  9. python使用h5py读取mat文件数据

    目录 一.matlab生成.mat文件 二.读取mat文件数据 一.matlab生成.mat文件 a=[]; List =dir('C:\Users\Administrator\Desktop\cod ...

最新文章

  1. C#中父子窗口之间实现控件互操作
  2. linux项目变量存放,linux 堆、栈、全局变量存放
  3. Kettle之数据抽取、转换、装载
  4. ubuntu 安装java_Hadoop3.1.3安装教程_单机/伪分布式配置
  5. Python批量转换ppt文件为pptx文件
  6. mysql 字节流_字节流至缓冲流
  7. 修改mysql数据库默认字符集_MySQL数据库之修改mysql默认字符集的两种方法详细解析...
  8. linux修改ip配置文件路径,Centos7系统如何修改IP地址
  9. 在zephyr上使用mipi-sys-t
  10. linux隔离磁盘坏道,Repartion Bad Drive(硬盘坏道隔离工具
  11. 托福百日冲刺—词汇(14)
  12. 针式打印机 使用链式纸打印 如何配置纸张参数
  13. 树莓派41/100- Pico控制触摸开关模块TTP223
  14. 年薪达 35 万元,杭州成为薪酬最高的城市,北上、重庆通勤时间最久,揭晓 2022 年最具潜力的软件名城!
  15. 计算机专业 大学物理课程简介,大学物理A课程简介.doc
  16. 色彩心理学:为什么快餐店不适合等人?
  17. opencv 数字识别详细教程
  18. poj3253求切割木板开销最少是多少, 赫夫曼编码
  19. 离散数学-ch1-Introduction
  20. 计算机模拟需要什么配置电脑,模拟人生对电脑的配置要求

热门文章

  1. c++中数字与字符,字符与其ASCII转换
  2. 可用的PHP在线云加密系统源码
  3. 8种bootstrap团队会员头像样式代码
  4. 微信小程序 php解密,微信小程序des加密、PHP des解密
  5. 中文分词与关键词提取概述
  6. BTC隔离见证(3开头)地址离线签名
  7. B - Bitwise Exclusive-OR Sequence
  8. java数字猜大小游戏_Java之数字猜大小
  9. Windows11便签工具在哪 win11的便签在哪里打开
  10. 矩阵论(一):广义逆矩阵(上)