Python如何读取json文件

 更新时间:2023年11月28日 14:58:25   作者:晚风吹儿  
这篇文章主要介绍了Python如何读取json文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python读取json文件

JSON文件

准备一个json文档数据,把对应的参数添加至此json文件下,通过python去获取对应的数据

代码如下(示例):

{
          "item":
                  [
                    {
                      "requests":
                      {
                        "url": "",
                        "body":
                        {
                          
                          "isWindow": 0,
                          "logoUrl": "",
                          "name": "new2",
                          "router": "",
                          "sort": 0,
                          "systemId": 0,
                          "useType": 0
                        }
                      },
                      "response":
                              [
                                {"code":"200"}
                              ]
                    },
                    {
                      "requests":
                      {
                        "url": "",
                        "body":
                        {
                          
                          "isWindow": 0,
                          "logoUrl": "",
                          "name": "new6",
                          "router": "",
                          "sort": 0,
                          "systemId": 0,
                          "useType": 1
                        }
                      },
                      "response":
                              [
                                {"code":"200"}
                              ]
                    },
                    {
                      "requests":
                      {
                        "url": "",
                        "body":
                        {
                         
                          "isWindow": 0,
                          "logoUrl": "",
                          "name": "new8",
                          "router": "",
                          "sort": 0,
                          "systemId": 0,
                          "useType": 0
                        }
                      },
                      "response":
                              [
                                {"code":"200"}
                              ]
                    }
                  ]
}

读取JSON数据

代码如下(示例):

import json
import pprint

class Read():
    def read_json(self):
        return json.load(open('app_json.json','r',encoding="utf-8"))['item']

read = Read()
# print(read)
pprint.pprint(read.read_json())


输出结果:
[{'requests': {'body': {
                        'isWindow': 0,
                        'logoUrl': '',
                        'name': 'new2',
                        'router': '',
                        'sort': 0,
                        'systemId': 0,
                        'useType': 0},
               'url': ''},
  'response': [{'code': '200'}]},
 {'requests': {'body': {
                        'isWindow': 0,
                        'logoUrl': '',
                        'name': 'new6',
                        'router': '',
                        'sort': 0,
                        'systemId': 0,
                        'useType': 1},
               'url': ''},
  'response': [{'code': '200'}]},
 {'requests': {'body': {
                        'isWindow': 0,
                        'logoUrl': '',
                        'name': 'new8',
                        'router': '',
                        'sort': 0,
                        'systemId': 0,
                        'useType': 0},
               'url': ''},
  'response': [{'code': '200'}]}]

Python解析json数据并保存为csv文件

首先导入两个包:

import json
import pandas as pd

打开json 文件并读取:

with open('2.json', encoding='utf-8') as f:
    line = f.readline()
    d = json.loads(line)
    f.close()

读取的json数据会以字典的形势保存,按照字典的读取方式获取自己想要的数据:

datas_x = []
datas_y = []

for dss in d:
    datas_x.append(float(dss["pos"]["x"]))
    datas_y.append(float(dss["pos"]["z"]))

将数据保存到列表中,然后创建pandas的DataFrame,DataFrame是由多种类型的列构成的二维标签数据结构。

path_x = pd.Series(datas_x)
path_y = pd.Series(datas_y)

path_df = pd.DataFrame()
path_df['pathx'] = path_x
path_df['pathy'] = path_y

最后将数据保存到csv中。

filepath = "E:\\python\\python\\2021\\202104\\0409\\path_data.csv"
path_df.to_csv(filepath, index=False, header=False)

完整代码:

import json
import pandas as pd

filepath = "E:\\python\\python\\2021\\202104\\0409\\path_data.csv"

with open('2.json', encoding='utf-8') as f:
    line = f.readline()
    d = json.loads(line)
    f.close()

datas_x = []
datas_y = []

for dss in d:
    datas_x.append(float(dss["pos"]["x"]))
    datas_y.append(float(dss["pos"]["z"]))

path_x = pd.Series(datas_x)
path_y = pd.Series(datas_y)

path_df = pd.DataFrame()
path_df['pathx'] = path_x
path_df['pathy'] = path_y

path_df.to_csv(filepath, index=False, header=False)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python为人脸照片添加口罩实战

    Python为人脸照片添加口罩实战

    本文主要介绍了Python为人脸照片添加口罩实战,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 基于Python搭建人脸识别考勤系统

    基于Python搭建人脸识别考勤系统

    人脸识别目前正被用于让世界更安全、更智能、更方便。在本文中,你将学习如何使用 Python 构建人脸识别系统。人脸识别比人脸检测更进一步。感兴趣的可以学习一下
    2021-12-12
  • 详解NumPy中的线性关系与数据修剪压缩

    详解NumPy中的线性关系与数据修剪压缩

    本文将通过股票均线计算的案例来为大家讲解一下NumPy中的线性关系以及数据修剪压缩的实现,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-05-05
  • 解决reload(sys)后print失效的问题

    解决reload(sys)后print失效的问题

    这篇文章主要介绍了解决reload(sys)后print失效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python使用grequests并发发送请求的示例

    Python使用grequests并发发送请求的示例

    这篇文章主要介绍了Python使用grequests并发送请求的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-11-11
  • python中的 sorted()函数和sort()方法区别

    python中的 sorted()函数和sort()方法区别

    这篇文章主要介绍了python中的 sorted()函数和sort()方法,首先看sort()方法,sort方法只能对列表进行操作,而sorted可用于所有的可迭代对象。具体内容需要的小伙伴可以参考下面章节
    2022-02-02
  • python私有属性和方法实例分析

    python私有属性和方法实例分析

    这篇文章主要介绍了python私有属性和方法的用法,实例分析了python私有属性和方法的原理及具体使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • 分享python中matplotlib指定绘图颜色的八种方式

    分享python中matplotlib指定绘图颜色的八种方式

    这篇文章主要给大家分享的是python中matplotlib指定绘图颜色的八种方式,在使用matplotlib的pyplot库进行绘图时,经常会发现各种开源代码指定“color”的方式并不一致,下面就向大家展示8种指定color的方式,需要的朋友可以参考一下
    2022-03-03
  • ORM Django 终端打印 SQL 语句实现解析

    ORM Django 终端打印 SQL 语句实现解析

    这篇文章主要介绍了ORM Django 终端打印 SQL 语句实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • python 文件读写和数据清洗

    python 文件读写和数据清洗

    这篇文章主要介绍了python文件读写和数据清洗,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下,希望对你的学习又是帮助
    2022-08-08

最新评论