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 相关文章推荐
go和python调用其它程序并得到程序输出
Feb 10 Python
tornado捕获和处理404错误的方法
Feb 26 Python
Python的装饰器模式与面向切面编程详解
Jun 21 Python
tensorflow 加载部分变量的实例讲解
Jul 27 Python
python仿抖音表白神器
Apr 08 Python
python 进程间数据共享multiProcess.Manger实现解析
Sep 23 Python
python 使用递归实现打印一个数字的每一位示例
Feb 27 Python
selenium+python配置chrome浏览器的选项的实现
Mar 18 Python
Python使用Selenium模拟浏览器自动操作功能
Sep 08 Python
Django集成MongoDB实现过程解析
Dec 01 Python
python中pdb模块实例用法
Jan 15 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
Feb 06 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中实现进程间通讯
2006/10/09 PHP
php mysql Errcode: 28 终极解决方法
2009/07/01 PHP
php at(@)符号的用法简介
2009/07/11 PHP
PHP引用的调用方法分析
2016/04/25 PHP
PHP调用其他文件中的类
2018/04/02 PHP
js程序中美元符号$是什么
2008/06/05 Javascript
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
IE6-IE9不支持table.innerHTML的解决方法分享
2012/09/14 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
原生JavaScript实现瀑布流布局
2020/06/28 Javascript
AngularJS基础 ng-if 指令用法
2016/08/01 Javascript
微信js-sdk界面操作接口用法示例
2016/10/12 Javascript
jquery文字填写自动高度的实现方法
2016/11/07 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
JS实现的四级密码强度检测功能示例
2017/05/11 Javascript
javascript cookie的基本操作(添加和删除)
2017/07/24 Javascript
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
2017/09/23 jQuery
jQuery实现的淡入淡出与滑入滑出效果示例
2018/04/18 jQuery
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
vue实现下载文件流完整前后端代码
2020/11/17 Vue.js
详解Vue 的异常处理机制
2020/11/30 Vue.js
Python实现全角半角转换的方法
2014/08/18 Python
python数据结构之列表和元组的详解
2017/09/23 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
Django框架实现逆向解析url的方法
2018/07/04 Python
查看python安装路径及pip安装的包列表及路径
2019/04/03 Python
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
python对文件的操作方法汇总
2020/02/28 Python
python使用信号量动态更新配置文件的操作
2020/04/01 Python
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
澳大利亚在线时尚精品店:Hello Molly
2018/02/26 全球购物
销售内勤岗位职责
2015/02/10 职场文书
卖车协议书范文
2016/03/23 职场文书
拥有这5个特征人,“命”都不会太差
2019/08/16 职场文书
MySQL连接控制插件介绍
2021/09/25 MySQL
Nginx本地配置SSL访问的实例教程
2022/05/30 Servers