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的Django框架中的Memcached
Jul 23 Python
Python中集合的内建函数和内建方法学习教程
Aug 19 Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
Jul 07 Python
解决PyCharm中光标变粗的问题
Aug 05 Python
Python使用struct处理二进制的实例详解
Sep 11 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
Aug 25 Python
Python异常处理知识点总结
Feb 18 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
Jun 18 Python
python匿名函数用法实例分析
Aug 03 Python
TensorFlow tf.nn.conv2d实现卷积的方式
Jan 03 Python
python设置表格边框的具体方法
Jul 17 Python
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
May 27 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桌面中心(二) 数据库写入
2007/03/11 PHP
PHP has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
php如何实现只替换一次或N次
2015/10/29 PHP
PHP的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
pjblog修改技巧汇总
2007/03/12 Javascript
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
2010/03/31 Javascript
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
根据出生日期自动取得星座的js代码
2010/07/20 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
简易js代码实现计算器操作
2013/04/15 Javascript
简单实用jquery版三级联动select示例
2013/07/04 Javascript
JSON无限折叠菜单编写实例
2013/12/16 Javascript
详解javascript数组去重问题
2015/11/06 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
vue 自定义指令自动获取文本框焦点的方法
2018/08/25 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
2018/11/02 Javascript
详解如何在Vue项目中导出Excel
2019/04/19 Javascript
详解微信小程序开发用户授权登陆
2019/04/24 Javascript
利用js-cookie实现前端设置缓存数据定时失效
2019/06/18 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
three.js显示中文字体与tween应用详析
2021/01/04 Javascript
wxPython框架类和面板类的使用实例
2014/09/28 Python
Python 对象中的数据类型
2017/05/13 Python
代码分析Python地图坐标转换
2018/02/08 Python
Python中new方法的详解
2019/01/15 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
用python批量下载apk
2020/12/29 Python
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
白俄罗斯女装和针织品网上商店:Presli.by
2019/10/13 全球购物
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
经销商会议欢迎词
2014/01/11 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
公司奖励通知
2015/04/21 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers