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下paramiko模块实现ssh连接登录Linux服务器
Jun 03 Python
利用matplotlib+numpy绘制多种绘图的方法实例
May 03 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
Jan 30 Python
python 执行文件时额外参数获取的实例
Dec 18 Python
利用Python实现手机短信监控通知的方法
Jul 22 Python
Python将主机名转换为IP地址的方法
Aug 14 Python
python做接口测试的必要性
Nov 20 Python
基于Python实现扑克牌面试题
Dec 11 Python
关于tf.TFRecordReader()函数的用法解析
Feb 17 Python
Python Pillow(PIL)库的用法详解
Sep 19 Python
python3中TQDM库安装及使用详解
Nov 18 Python
python 单机五子棋对战游戏
Apr 28 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
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
2014/07/19 PHP
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
PHP 实现的将图片转换为TXT
2015/10/21 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
JavaScript 全角转半角部分
2009/10/28 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
2013/05/08 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
一个小例子解释如何来阻止Jquery事件冒泡
2014/07/17 Javascript
浅谈下拉菜单中的Option对象
2015/05/10 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
JQuery异步加载PartialView的方法
2016/06/07 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
2016/12/18 Javascript
Angular JS数据的双向绑定详解及实例
2016/12/31 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
React Native中的RefreshContorl下拉刷新使用
2017/10/09 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
RxJS在TypeScript中的简单使用详解
2020/04/13 Javascript
Python判断两个对象相等的原理
2017/12/12 Python
linux下python使用sendmail发送邮件
2018/05/22 Python
基于tensorflow加载部分层的方法
2018/07/26 Python
pycharm打开命令行或Terminal的方法
2019/01/16 Python
基于Html5 canvas实现裁剪图片和马赛克功能及又拍云上传图片 功能
2019/07/09 HTML / CSS
Crabtree & Evelyn欧盟:豪华洗浴、身体和护发
2021/03/09 全球购物
2013英文求职信模板范文
2013/11/15 职场文书
电脑教师的教学自我评价
2013/11/26 职场文书
公务员年度考核评语
2014/12/31 职场文书
乔迁之喜答谢词
2015/01/05 职场文书
2015年十一国庆节演讲稿
2015/03/20 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
2015年学校办公室主任工作总结
2015/07/20 职场文书
会议室管理制度范本
2015/08/06 职场文书
2019旅游导游工作总结
2019/06/27 职场文书
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python