使用Python读取json文件的方法小结

 更新时间:2023年09月05日 10:36:54   作者:代码写不完了  
这篇文章主要给大家介绍了Python读取json文件的方法,使用python读取json文件,输出结果为字符串或python对象,文中有详细的代码示例和图解,感兴趣的小伙伴可以自己动手试一试

使用python读取json文件,输出结果为字符串或python对象

如下图,data目录下有test.json文件 

现在可以通过python读取该json文件,并输出为两种不同类型(python对象、字符串)的数据

1.输出为python对象,这里使用的是json模块的load()方法

(1)输出类型和文件内容如下:

(2)源代码(需要引入json库):

import json
#定义文件路径
path = './data/'
# 打开文件,r是读取,encoding是指定编码格式
with open(path + 'test.json','r',encoding = 'utf-8') as fp:
    print(type(fp))  #输出结果是 <class '_io.TextIOWrapper'> 一个文件类对象
    # load()函数将fp(一个支持.read()的文件类对象,包含一个JSON文档)反序列化为一个Python对象
    data = json.load(fp)
    print(type(data))  #输出结果是 <class 'dict'> 一个python对象,json模块会根据文件类对象自动转为最符合的数据类型,所以这里是dict
print("\n************************************************************************************************************\n")
print(data)
print("\n************************************************************************************************************\n")
# 因为上面使用了with语句,使用 with 语句打开文件时,with 语句会创建一个代码块的上下文,并在代码块执行结束后自动清理资源。通过这种方式,我们可以不用显示调用 file.close() 来关闭文件,从而避免资源泄漏的问题。
# fp.close() 

2.输出类型为字符串,这里使用的是read()方法 

(1)输出类型和文件内容如下:

(2)源代码:

#文件路径
path = './data/'
# 打开文件,r是读取的意思,encoding是指定编码格式
with open(path + 'test.json','r',encoding = 'utf-8') as fp:
    print(type(fp)) #输出结果是 <class '_io.TextIOWrapper'> 一个文件类对象
    # read()方法将fp(一个支持.read()的文件类对象,包含一个JSON文档)转换成字符串
    data = fp.read()
    print(type(data)) #输出结果是 <class 'str'> 字符串
print("\n************************************************************************************************************\n")
print(data)
print("\n************************************************************************************************************\n")
# 因为上面使用了with语句,使用 with 语句打开文件时,with 语句会创建一个代码块的上下文,并在代码块执行结束后自动清理资源。通过这种方式,我们可以不用显示调用 file.close() 来关闭文件,从而避免资源泄漏的问题。
# fp.close()

到此这篇关于Python读取json文件的方法小结的文章就介绍到这了,更多相关Python读取json文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python中子类继承父类的__init__方法实例

    python中子类继承父类的__init__方法实例

    这篇文章主要给大家详细介绍了python中子类如何继承父类的__init__方法,文中给出了详细的示例代码,相信对大家的理解和学习具有一定参考价值,有需要的朋友们下面来跟着小编一起学习学习吧。
    2016-12-12
  • TensorFlow神经网络学习之张量与变量概念

    TensorFlow神经网络学习之张量与变量概念

    这篇文章主要为大家介绍了TensorFlow神经网络学习的基本知识张量与变量概念详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-10-10
  • pandas多层索引的创建和取值以及排序的实现

    pandas多层索引的创建和取值以及排序的实现

    这篇文章主要介绍了pandas多层索引的创建和取值以及排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 详解python基础之while循环及if判断

    详解python基础之while循环及if判断

    这篇文章主要介绍了python基础之while循环及if判断的相关资料,需要的朋友可以参考下
    2017-08-08
  • Python进阶语法之类的继承

    Python进阶语法之类的继承

    这篇文章主要为大家介绍了Python类的继承,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • Python序列的推导式实现代码

    Python序列的推导式实现代码

    推导式是可以从一个数据序列构建另一个新的数据序列(的一种结构体),是python的一种独有特性,在python中共有三种推导,列表推导式和字典推导式,集合推导式,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2021-07-07
  • python使用DebugInfo模块打印一个条形堆积图

    python使用DebugInfo模块打印一个条形堆积图

    今天介绍一个不使用 matplot,通过 DebugInfo模块打印条形堆积图的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-08-08
  • Pandas数据结构之Series的使用

    Pandas数据结构之Series的使用

    本文主要介绍了Pandas数据结构之Series的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • python翻译软件实现代码(使用google api完成)

    python翻译软件实现代码(使用google api完成)

    这篇文章主要介绍了python结合google api完成的翻译软件实现代码,大家参考使用
    2013-11-11
  • Python图像运算之图像灰度非线性变换详解

    Python图像运算之图像灰度非线性变换详解

    这篇文章将详细讲解图像灰度非线性变换。图像灰度非线性变换主要包括对数变换、幂次变换、指数变换、分段函数变换,通过非线性关系对图像进行灰度处理,本文主要讲解三种常见类型的灰度非线性变换,感兴趣的可以了解一下
    2022-03-03

最新评论