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使用实例
Jul 03 Python
python开发之thread线程基础实例入门
Nov 11 Python
Python的Django REST框架中的序列化及请求和返回
Apr 11 Python
python paramiko模块学习分享
Aug 23 Python
浅谈python之高阶函数和匿名函数
Mar 21 Python
python多线程扫描端口(线程池)
Sep 04 Python
django中间键重定向实例方法
Nov 10 Python
python3注册全局热键的实现
Mar 22 Python
Python导入模块包原理及相关注意事项
Mar 25 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
Sep 03 Python
用python写PDF转换器的实现
Oct 29 Python
详解Python利用configparser对配置文件进行读写操作
Nov 03 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 字符串长度判断效率更高的方法
2014/03/02 PHP
通过dbi使用perl连接mysql数据库的方法
2014/04/16 PHP
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
thinkphp如何获取客户端IP
2015/11/03 PHP
CodeIgniter框架基本增删改查操作示例
2017/03/23 PHP
javascript实现下班倒计时效果的方法(可桌面通知)
2015/07/10 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
jquery实现鼠标滑过显示二级下拉菜单效果
2015/08/24 Javascript
基于zepto的移动端轻量级日期插件--date_picker
2016/03/04 Javascript
Angular2使用Guard和Resolve进行验证和权限控制
2017/04/24 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
JS实现的input选择图片本地预览功能示例
2018/08/29 Javascript
Vue-Router基础学习笔记(小结)
2018/10/15 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
JSONP解决JS跨域问题的实现
2020/05/25 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
在vue-cli创建的项目中使用sass操作
2020/08/10 Javascript
JavaScript实现网页留言板功能
2020/11/23 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
在Python中操作字符串之startswith()方法的使用
2015/05/20 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
pandas修改DataFrame列名的实现方法
2019/02/22 Python
python实现五子棋小程序
2019/06/18 Python
TensorFlow使用Graph的基本操作的实现
2020/04/22 Python
vscode写python时的代码错误提醒和自动格式化的方法
2020/05/07 Python
python异常处理之try finally不报错的原因
2020/05/18 Python
Python几种常见算法汇总
2020/06/02 Python
opencv 图像腐蚀和图像膨胀的实现
2020/07/07 Python
PyQt5 QDockWidget控件应用详解
2020/08/12 Python
沙特阿拉伯电子产品和家用电器购物网站:Black Box
2019/07/24 全球购物
《都江堰》教学反思
2014/02/07 职场文书
求职信范文大全
2014/05/26 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
2019年公司快递收发管理制度模板
2019/11/20 职场文书
浅谈如何提高PHP代码质量之单元测试
2021/05/28 PHP