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实现在matplotlib中两个坐标轴之间画一条直线光标的方法
May 20 Python
python字符串过滤性能比较5种方法
Jun 22 Python
Python如何生成树形图案
Jan 03 Python
Python中GeoJson和bokeh-1的使用讲解
Jan 03 Python
python 返回一个列表中第二大的数方法
Jul 09 Python
pytorch 常用线性函数详解
Jan 15 Python
如何使用Python抓取网页tag操作
Feb 14 Python
Pycharm+Python工程,引用子模块的实现
Mar 09 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
May 11 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
Jun 18 Python
基于Django集成CAS实现流程详解
Nov 28 Python
python 中yaml文件用法大全
Jul 04 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
桌面中心(二)数据库写入
2006/10/09 PHP
BBS(php &amp; mysql)完整版(五)
2006/10/09 PHP
php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
2011/11/07 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
php转换上传word文件为PDF的方法【基于COM组件】
2019/06/10 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
Yii框架安装简明教程
2020/05/15 PHP
JQuery中的事件及动画用法实例
2015/01/26 Javascript
全面理解闭包机制
2016/07/11 Javascript
Angular2表单自定义验证器的实现
2016/10/19 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
浅谈vue方法内的方法使用this的问题
2018/09/15 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
解决vue初始化项目时,一直卡在Project description上的问题
2019/10/31 Javascript
微信小程序返回上一级页面的实现代码
2020/06/19 Javascript
python paramiko实现ssh远程访问的方法
2013/12/03 Python
Python简单连接MongoDB数据库的方法
2016/03/15 Python
Python字符编码判断方法分析
2016/07/01 Python
python3 图片referer防盗链的实现方法
2018/03/12 Python
python 删除非空文件夹的实例
2018/04/26 Python
Python除法之传统除法、Floor除法及真除法实例详解
2019/05/23 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
2021/01/21 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
html5中如何将图片的绝对路径转换成文件对象
2018/01/11 HTML / CSS
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
船舶专业个人求职信范文
2014/01/02 职场文书
群众路线教育实践活动方案
2014/10/31 职场文书
护士求职自荐信
2015/03/25 职场文书
2015年效能监察工作总结
2015/04/23 职场文书
毕业论文致谢范文
2015/05/14 职场文书
驳回起诉民事裁定书
2015/05/19 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
大学同学聚会感言
2015/07/30 职场文书
python自动化测试通过日志3分钟定位bug
2021/11/20 Python
Nginx实现会话保持的两种方式
2022/03/18 Servers