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代码嵌入C++程序进行编写的实例
Jul 31 Python
Python正则捕获操作示例
Aug 19 Python
python多线程socket编程之多客户端接入
Sep 12 Python
Win8下python3.5.1安装教程
Jul 29 Python
Python 识别12306图片验证码物品的实现示例
Jan 20 Python
flask框架蓝图和子域名配置详解
Jan 25 Python
如何使用selenium和requests组合实现登录页面
Feb 03 Python
使用TFRecord存取多个数据案例
Feb 17 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
Jun 02 Python
Python能做什么
Jun 02 Python
Python 创建TCP服务器的方法
Jul 28 Python
Python并发编程实例教程之线程的玩法
Jun 20 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 5.5 创建和验证哈希最简单的方法详解
2013/11/07 PHP
php使用base64加密解密图片示例分享
2014/01/20 PHP
php利用ob_start()清除输出和选择性输出的方法
2018/01/18 PHP
php微信开发之谷歌测距
2018/06/14 PHP
PHP递归算法的简单实例
2019/02/28 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
2019/09/30 PHP
浅析return false的正确使用
2013/11/04 Javascript
JavaScript生成的动态下雨背景效果实现方法
2015/02/25 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
2016/08/01 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
2016/10/27 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
2016/12/19 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
2016/12/28 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
Vue 表单控件绑定的实现示例
2017/08/11 Javascript
基于rollup的组件库打包体积优化小结
2018/06/18 Javascript
vue实现倒计时获取验证码效果
2020/04/17 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
Python的函数嵌套的使用方法
2014/01/24 Python
python 中split 和 strip的实例详解
2017/07/12 Python
python导出hive数据表的schema实例代码
2018/01/22 Python
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
pandas获取groupby分组里最大值所在的行方法
2018/04/20 Python
深入浅析Python传值与传址
2018/07/10 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
关于Python-faker的函数效果一览
2019/11/28 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
你可能不熟练的十个前端HTML5经典面试题
2018/07/03 HTML / CSS
心理健康心得体会
2014/01/02 职场文书
高一地理教学反思
2014/01/18 职场文书
农村党员一句话承诺
2014/05/30 职场文书
煤矿开采专业求职信
2014/07/08 职场文书
部队个人年终总结
2015/03/02 职场文书
城南旧事观后感
2015/06/11 职场文书
python如何读取.mtx文件
2021/04/22 Python