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 03 Python
python实现基于两张图片生成圆角图标效果的方法
Mar 26 Python
Python基于有道实现英汉字典功能
Jul 25 Python
python实现八大排序算法(1)
Sep 14 Python
Python 实现12306登录功能实例代码
Feb 09 Python
python实现支付宝当面付(扫码支付)功能
May 30 Python
Python面向对象程序设计示例小结
Jan 30 Python
python调用c++传递数组的实例
Feb 13 Python
flask实现验证码并验证功能
Dec 05 Python
python中adb有什么功能
Jun 07 Python
Python3读写ini配置文件的示例
Nov 06 Python
python基础学习之生成器与文件系统知识总结
May 25 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
239军机修复记
2021/03/02 无线电
再次研究下cache_lite
2007/02/14 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
ThinkPHP3.1基础知识快速入门
2014/06/19 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
2016/09/22 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
jquery.validate使用攻略 第三部
2010/07/01 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
Prototype源码浅析 Enumerable部分之each方法
2012/01/16 Javascript
javascript 使td内容不换行不撑开
2012/11/29 Javascript
JSON传递bool类型数据的处理方式介绍
2013/09/18 Javascript
JavaScript中Math对象方法使用概述
2014/01/02 Javascript
JavaScript监听和禁用浏览器回车事件实例
2015/01/31 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
常用的几个JQuery代码片段
2017/03/13 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
Python用5行代码写一个自定义简单二维码
2018/10/21 Python
selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)
2018/11/29 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
Python闭包装饰器使用方法汇总
2020/06/29 Python
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
Strawberrynet草莓网新加坡站:护肤、彩妆、香水及美发产品
2018/08/31 全球购物
工厂厂长岗位职责
2013/11/08 职场文书
QA工程师岗位职责
2013/11/20 职场文书
学习党的群众路线教育实践活动心得体会
2014/03/01 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
圣诞节活动策划方案
2014/06/09 职场文书
考试作弊被抓检讨书
2014/10/02 职场文书
迁户口计划生育证明
2014/10/19 职场文书
2016护理专业求职自荐书
2016/01/28 职场文书
Android自定义双向滑动控件
2022/04/19 Java/Android