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常用的日期时间处理方法示例
Feb 08 Python
Django中日期处理注意事项与自定义时间格式转换详解
Aug 06 Python
Python3.5实现的三级菜单功能示例
Mar 25 Python
Django之PopUp的具体实现方法
Aug 31 Python
wxPython之wx.DC绘制形状
Nov 19 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
Dec 11 Python
Pytorch 实现权重初始化
Dec 31 Python
pytorch 改变tensor尺寸的实现
Jan 03 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
Jul 03 Python
python tkinter的消息框模块(messagebox,simpledialog)
Nov 07 Python
Python如何用re模块实现简易tokenizer
May 02 Python
pd.DataFrame中的几种索引变换的实现
Jun 16 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
Terran魔法科技
2020/03/14 星际争霸
php取得字符串首字母的方法
2015/03/25 PHP
PHP中利用sleep函数实现定时执行功能实现代码
2016/08/25 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
2016/10/17 PHP
php 从一个数组中随机的取出若干个不同的数实例
2016/12/31 PHP
csdn 博客中实现运行代码功能实现
2009/08/29 Javascript
基于js disabled=&quot;false&quot;不起作用的解决办法
2013/06/26 Javascript
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
javascript修改表格背景色实例代码分享
2013/12/10 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
js判断所有表单项不为空则提交表单的实现方法
2016/09/09 Javascript
bootstrap组件之导航组件使用方法
2017/01/19 Javascript
WebSocket的通信过程与实现方法详解
2018/04/29 Javascript
微信小程序云开发之数据库操作
2019/05/18 Javascript
JavaScript实现更换背景图片
2019/10/18 Javascript
浅析js实现网页截图的两种方式
2019/11/01 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
2020/07/14 Javascript
使用python提取html文件中的特定数据的实现代码
2013/03/24 Python
使用Python开发windows GUI程序入门实例
2014/10/23 Python
python实现搜索指定目录下文件及文件内搜索指定关键词的方法
2015/06/28 Python
总结用Pdb库调试Python的方式及常用的命令
2016/08/18 Python
Sanic框架配置操作分析
2018/07/17 Python
详解用python生成随机数的几种方法
2019/08/04 Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
2019/11/06 Python
H5调用相机拍照并压缩图片的实例代码
2017/07/20 HTML / CSS
优秀研究生自我鉴定
2013/12/04 职场文书
自我推荐书
2013/12/04 职场文书
工厂采购员岗位职责
2014/04/08 职场文书
2014年中秋寄语
2014/08/11 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
担保书范文
2015/01/20 职场文书
学校教学工作总结2015
2015/05/19 职场文书
python 网络编程要点总结
2021/06/18 Python
vue实力踩坑之push当前页无效
2022/04/10 Vue.js
Java异常体系非正常停止和分类
2022/06/14 Java/Android