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 21 Python
python中yaml配置文件模块的使用详解
Apr 27 Python
Python实现模拟浏览器请求及会话保持操作示例
Jul 30 Python
python实现nao机器人身体躯干和腿部动作操作
Apr 29 Python
Python中的十大图像处理工具(小结)
Jun 10 Python
python爬虫中多线程的使用详解
Sep 23 Python
python使用 request 发送表单数据操作示例
Sep 25 Python
pytorch自定义二值化网络层方式
Jan 07 Python
详解python 降级到3.6终极解决方案
Feb 06 Python
TFRecord文件查看包含的所有Features代码
Feb 17 Python
浅谈python 类方法/静态方法
Sep 18 Python
python集合的新增元素方法整理
Dec 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
大师制作的中短波矿石收音机
2020/04/02 无线电
非常重要的php正则表达式详解
2016/01/04 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
2019/10/23 PHP
js获取变量
2006/08/24 Javascript
jquery 实现的全选和反选
2009/04/15 Javascript
用最通俗易懂的代码帮助新手理解javascript闭包 推荐
2012/03/01 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
2014/07/31 Javascript
Angularjs基础知识及示例汇总
2015/01/22 Javascript
深入探寻seajs的模块化与加载方式
2015/04/14 Javascript
JavaScript数组去重的五种方法
2015/11/05 Javascript
详解Angular4 路由设置相关
2017/08/26 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
vue 插件的方法代码详解
2019/06/06 Javascript
node实现爬虫的几种简易方式
2019/08/22 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
浅谈vuex为什么不建议在action中修改state
2020/02/02 Javascript
如何基于javascript实现贪吃蛇游戏
2020/02/09 Javascript
Python常用模块用法分析
2014/09/08 Python
Python内置模块hashlib、hmac与uuid用法分析
2018/02/12 Python
解决pandas使用read_csv()读取文件遇到的问题
2018/06/15 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
CentOS7安装Python3的教程详解
2019/04/10 Python
python 计算方位角实例(根据两点的坐标计算)
2020/01/17 Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
2020/06/11 Python
python如何处理程序无法打开
2020/06/16 Python
python爬虫利用代理池更换IP的方法步骤
2021/02/21 Python
把富文本的回车转为br标签
2019/08/09 HTML / CSS
input file上传文件样式支持html5的浏览器解决方案
2012/11/14 HTML / CSS
荷兰演唱会和体育比赛订票网站:viagogo荷兰
2018/04/08 全球购物
人事行政专员岗位职责
2014/07/23 职场文书
幼儿园教师的自我评价范文
2014/09/17 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
Python中else的三种使用场景
2021/06/16 Python
Python基础教程,Python入门教程(超详细)
2021/06/24 Python