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复制与引用用法分析
Apr 08 Python
python MySQLdb Windows下安装教程及问题解决方法
May 09 Python
在Python的Flask框架中验证注册用户的Email的方法
Sep 02 Python
itchat和matplotlib的结合使用爬取微信信息的实例
Aug 25 Python
python实现报表自动化详解
Nov 16 Python
Django之Mode的外键自关联和引用未定义的Model方法
Dec 15 Python
python实现Flappy Bird源码
Dec 24 Python
python调用staf自动化框架的方法
Dec 26 Python
Python实现的栈、队列、文件目录遍历操作示例
May 06 Python
使用keras实现Precise, Recall, F1-socre方式
Jun 15 Python
python利用线程实现多任务
Sep 18 Python
用python查找统一局域网下ip对应的mac地址
Jan 13 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 print类函数使用总结
2010/06/25 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
Yii2针对游客、用户防范规则和限制的解决方法分析
2016/10/08 PHP
laravel 解决paginate查询多个字段报错的问题
2019/10/22 PHP
jquery插件实现鼠标经过图片右侧显示大图的效果(类似淘宝)
2013/02/04 Javascript
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
原生JavaScript实现连连看游戏(附源码)
2013/11/05 Javascript
一张表格告诉你windows.onload()与$(document).ready()的区别
2014/05/16 Javascript
js正则表达式匹配数字字母下划线等
2015/04/14 Javascript
JS动画效果打开、关闭层的实现方法
2015/05/09 Javascript
模拟javascript中的sort排序(简单实例)
2016/08/17 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
简单理解Vue条件渲染
2016/12/03 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
2017/10/19 Javascript
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
分享一款超好用的JavaScript 打包压缩工具
2020/04/26 Javascript
记一次vue跨域的解决
2020/10/21 Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
2020/11/02 Javascript
Python使用Django实现博客系统完整版
2020/09/29 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
2018/07/10 Python
python导入坐标点的具体操作
2019/05/10 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
Python动态声明变量赋值代码实例
2019/12/30 Python
对tensorflow中的strides参数使用详解
2020/01/04 Python
德国机车企业:FC-Moto
2017/10/27 全球购物
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
PHP开发工程师面试问题集锦
2012/11/01 面试题
给老师的道歉信
2014/01/11 职场文书
九年级政治教学反思
2014/02/06 职场文书
遗嘱公证书标准样本
2014/04/08 职场文书
试用期自我评价怎么写
2015/03/10 职场文书
2016年少先队活动总结
2016/04/06 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
nginx配置ssl实现https的方法示例
2021/03/31 Servers
MongoDB数据库常用的10条操作命令
2021/06/18 MongoDB