python 读取txt,json和hdf5文件的实例


Posted in Python onJune 05, 2018

一.python读取txt文件

最简单的open函数:

# -*- coding: utf-8 -*-
with open("test.txt","r",encoding="gbk",errors='ignore') as f:
 print(f.read())

这里用open函数读取了一个txt文件,”encoding”表明了读取格式是“gbk”,还可以忽略错误编码。

另外,使用with语句操作文件IO是个好习惯,省去了每次打开都要close()。

二.python读取json文件

简单的test.json文件如下:

{
 "glossary": {
 "title": "example glossary",
 "GlossDiv": {
  "title": "S",
  "GlossList": {
  "GlossEntry": {
   "ID": "SGML",
   "SortAs": "SGML",
   "GlossTerm": "Standard Generalized Markup Language",
   "Acronym": "SGML",
   "Abbrev": "ISO 8879:1986",
   "GlossDef": {
   "para": "A meta-markup language, used to create markup languages such as DocBook.",
   "GlossSeeAlso": ["GML", "XML"]
   },
   "GlossSee": "markup"
  }
  }
 }
 }
}

这里需要用python的json模块处理解析:

import json
data = json.load(open('example.json'))
print(type(data))
print(data)

打印如下:

<class 'dict'>
{'glossary': {'title': 'example glossary', 'GlossDiv': {'title': 'S', 'GlossList': {'GlossEntry': {'ID': 'SGML', 'SortAs': 'SGML', 'GlossTerm': 'Standard Generalized Markup Language', 'Acronym': 'SGML', 'Abbrev': 'ISO 8879:1986', 'GlossDef': {'para': 'A meta-markup language, used to create markup languages such as DocBook.', 'GlossSeeAlso': ['GML', 'XML']}, 'GlossSee': 'markup'}}}}}

可见json.load()函数返回值是dict,json数据现在就成了一个网状的Python字典。

接下来我们就可以用标准的键检索来进行解读,比如:

print(data['glossary']['GlossDiv']['GlossList'])

打印结果如下:

{'GlossEntry': {'ID': 'SGML', 'SortAs': 'SGML', 'GlossTerm': 'Standard Generalized Markup Language', 'Acronym': 'SGML', 'Abbrev': 'ISO 8879:1986', 'GlossDef': {'para': 'A meta-markup language, used to create markup languages such as DocBook.', 'GlossSeeAlso': ['GML', 'XML']}, 'GlossSee': 'markup'}}

三.python 读取HFD5文件

HDF5 是一种层次化的格式(hierarchical format),经常用于存储复杂的科学数据。例如 MATLAB 就是用这个格式来存储数据。在存储带有关联的元数据(metadata)的复杂层次化数据的时候,这个格式非常有用,例如计算机模拟实验的运算结果等等。

与HDF5 相关的主要概念有以下几个:

文件 file: 层次化数据的容器,相当于树根('root' for tree)

组 group: 树的一个节点(node for a tree)

数据集 dataset: 数值数据的数组,可以非常非常大

属性 attribute: 提供额外信息的小块的元数据

# -*- coding: utf-8 -*-
#创建hdf5文件
import datetime
import os
import h5py
import numpy as np
imgData = np.zeros((30,3,128,256))
if not os.path.exists('test.hdf5'):
 with h5py.File('test.hdf5') as f:
 f['data'] = imgData   #将数据写入文件的主键data下面
 f['labels'] = range(100)

创建完成之后读取:

import datetime
import os
import h5py
import numpy as np
with h5py.File('test.hdf5') as f:
 print(f)
 print(f.keys)

除了上述方法,pandas还提供一个直接读取h5文件的函数:

pd.HDFStore
import datetime
import os
import h5py
import numpy as np
import pandas as pd
data = pd.HDFStore("dataset_log.h5")
print(type(data))

打印结果为:

<class 'pandas.io.pytables.HDFStore'>
Closing remaining open files:dataset_log.h5...done

以上这篇python 读取txt,json和hdf5文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现判断数组是否包含指定元素的方法
Jul 15 Python
numpy中loadtxt 的用法详解
Aug 03 Python
Python中函数参数调用方式分析
Aug 09 Python
python读取和保存图片5种方法对比
Sep 12 Python
Python实现定时自动关闭的tkinter窗口方法
Feb 16 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
Aug 08 Python
python+tkinter实现学生管理系统
Aug 20 Python
在Python中使用filter去除列表中值为假及空字符串的例子
Nov 18 Python
Python定义函数时参数有默认值问题解决
Dec 19 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
Feb 17 Python
Python转换字典成为对象,可以用&quot;.&quot;方式访问对象属性实例
May 11 Python
一篇文章弄懂Python中的内建函数
Aug 07 Python
利用Python如何将数据写到CSV文件中
Jun 05 #Python
Python之dict(或对象)与json之间的互相转化实例
Jun 05 #Python
对pandas中to_dict的用法详解
Jun 05 #Python
pandas.DataFrame.to_json按行转json的方法
Jun 05 #Python
读取json格式为DataFrame(可转为.csv)的实例讲解
Jun 05 #Python
Python实现迭代时使用索引的方法示例
Jun 05 #Python
Numpy 将二维图像矩阵转换为一维向量的方法
Jun 05 #Python
You might like
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
PHP父类调用子类方法的代码例子
2014/04/09 PHP
php冒泡排序与快速排序实例详解
2015/12/07 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
Laravel框架自定义验证过程实例分析
2019/02/01 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
JavaScript 数组运用实现代码
2010/04/13 Javascript
浅谈Javascript面向对象编程
2011/11/15 Javascript
基于javascript的COOkie的操作实现只能点一次
2014/12/26 Javascript
Javascript中setTimeOut和setInterval的定时器用法
2015/06/12 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
bootstrap多种样式进度条展示
2016/12/20 Javascript
JS实现的系统调色板完整实例
2016/12/21 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
基于js中的原型(全面讲解)
2017/09/19 Javascript
mui框架 页面无法滚动的解决方法(推荐)
2018/01/25 Javascript
JS实现的缓冲运动效果示例
2018/04/30 Javascript
antd design table更改某行数据的样式操作
2020/10/31 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
python中管道用法入门实例
2015/06/04 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
django多个APP的urls设置方法(views重复问题解决)
2019/07/19 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
css3中检验表单的required,focus,valid和invalid样式
2014/02/21 HTML / CSS
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
大学军训感想
2014/02/12 职场文书
大堂副理的岗位职责范文
2014/02/17 职场文书
房产继承公证书
2014/04/09 职场文书
工商局领导班子存在的问题整改措施思想汇报
2014/10/05 职场文书
2014年社区矫正工作总结
2014/11/18 职场文书
幼儿园奖惩制度范本
2015/08/05 职场文书
竞聘演讲报告:基本写作有哪些?附开头范文
2019/10/16 职场文书
vue中三级导航的菜单权限控制
2021/03/31 Vue.js