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 相关文章推荐
Python3通过Luhn算法快速验证信用卡卡号的方法
May 14 Python
Python实现递归遍历文件夹并删除文件
Apr 18 Python
python实现数据写入excel表格
Mar 25 Python
Python数据处理numpy.median的实例讲解
Apr 02 Python
WxPython建立批量录入框窗口
Feb 27 Python
Python any()函数的使用方法
Oct 28 Python
基于Python获取城市近7天天气预报
Nov 26 Python
python Tensor和Array对比分析
Jan 08 Python
如何真正的了解python装饰器
Aug 14 Python
基于Python实现粒子滤波效果
Dec 01 Python
Python selenium模拟网页点击爬虫交管12123违章数据
May 26 Python
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
Apr 21 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
配置php.ini实现PHP文件上传功能
2014/11/27 PHP
php简单截取字符串代码示例
2016/10/19 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
2019/05/27 PHP
客户端静态页面玩分页
2006/06/26 Javascript
jQuery 性能优化指南(2)
2009/05/21 Javascript
javascript web页面刷新的方法收集
2009/07/02 Javascript
JS判断、校验MAC地址的2个实例
2014/05/05 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
2015/07/06 Javascript
用js实现放大镜的效果的简单实例
2016/05/23 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
2016/06/14 Javascript
jQuery旋转插件jqueryrotate用法详解
2016/10/13 Javascript
基于javascript实现数字英文验证码
2017/01/25 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
基于vue2.0的活动倒计时组件countdown(附源码下载)
2018/10/09 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
js里面的变量范围分享
2020/07/18 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
微信小程序学习之自定义滚动弹窗
2020/12/20 Javascript
解决基于 keep-alive 的后台多级路由缓存问题
2020/12/23 Javascript
Python如何通过subprocess调用adb命令详解
2017/08/27 Python
python opencv3实现人脸识别(windows)
2018/05/25 Python
Python实现登陆文件验证方法
2018/10/06 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
Python+Pyqt实现简单GUI电子时钟
2021/02/22 Python
pygame实现俄罗斯方块游戏(基础篇1)
2019/10/29 Python
OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现
2019/11/25 Python
django配置app中的静态文件步骤
2020/03/27 Python
PyTorch中的C++扩展实现
2020/04/02 Python
keras得到每层的系数方式
2020/06/15 Python
乌克兰时尚鞋子和衣服购物网站:Born2be
2018/05/24 全球购物
自荐信格式范文
2013/10/07 职场文书
小学教师自我鉴定
2013/11/07 职场文书
奠基仪式策划方案
2014/05/15 职场文书
2014年教师节红领巾广播稿
2014/09/10 职场文书
2015学校师德师风工作总结
2015/04/22 职场文书
2015重阳节座谈会主持词
2015/07/30 职场文书