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 相关文章推荐
python33 urllib2使用方法细节讲解
Dec 03 Python
从零学python系列之数据处理编程实例(二)
May 22 Python
Python实现多线程抓取妹子图
Aug 08 Python
python实现二维码扫码自动登录淘宝
Dec 27 Python
基于循环神经网络(RNN)的古诗生成器
Mar 26 Python
Python SQL查询并生成json文件操作示例
Aug 17 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
Nov 06 Python
python中append实例用法总结
Jul 30 Python
python Django里CSRF 对应策略详解
Aug 05 Python
python实现静态web服务器
Sep 03 Python
Python操作dict时避免出现KeyError的几种解决方法
Sep 20 Python
python实现图片,视频人脸识别(opencv版)
Nov 18 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+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
使用PHP+MySql实现微信投票功能实例代码
2017/09/29 PHP
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
心扬JS分页函数代码
2010/09/10 Javascript
基于jquery的DIV随滚动条滚动而滚动的代码
2012/07/20 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
告诉你什么是javascript的回调函数
2014/09/04 Javascript
原生JS实现首页进度加载动画
2016/09/14 Javascript
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
React学习笔记之条件渲染(一)
2017/07/02 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
详解javascript常用工具类的封装
2018/01/30 Javascript
对angular4子路由&amp;辅助路由详解
2018/10/09 Javascript
实用的Vue开发技巧
2019/05/30 Javascript
jQuery实现带进度条的轮播图
2020/09/13 jQuery
vue使用element-ui实现表单验证
2020/12/13 Vue.js
[16:27]DOTA2 HEROS教学视频教你分分钟做大人-艾欧
2014/06/11 DOTA
Python 如何访问外围作用域中的变量
2016/09/11 Python
Python爬虫之xlml解析库(全面了解)
2017/08/08 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
python简易远程控制单线程版
2018/06/20 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
python中从for循环延申到推导式的具体使用
2019/11/29 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
python基于pygame实现飞机大作战小游戏
2020/11/19 Python
使用python实现学生信息管理系统
2021/02/25 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
争论的故事教学反思
2014/02/06 职场文书
《列夫托尔斯泰》教学反思
2014/02/10 职场文书
大学生团支书竞选稿
2015/11/21 职场文书
2016年学校安全教育月活动总结
2016/04/06 职场文书
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js
PostgreSQL解析URL的方法
2021/08/02 PostgreSQL