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算术运算符实例详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • python神经网络ShuffleNetV2模型复现详解

    python神经网络ShuffleNetV2模型复现详解

    这篇文章主要为大家介绍了python神经网络ShuffleNetV2模型复现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python机器学习NLP自然语言处理基本操作词向量模型

    Python机器学习NLP自然语言处理基本操作词向量模型

    本文是Python机器学习NLP自然语言处理系列文章,带大家开启一段学习自然语言处理 (NLP) 的旅程。本篇文章主要学习NLP自然语言处理基本操作词向量模型
    2021-09-09
  • django rest framework 数据的查找、过滤、排序的示例

    django rest framework 数据的查找、过滤、排序的示例

    这篇文章主要介绍了 django rest framework 数据的查找、过滤、排序,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Python实现一行代码自动绘制艺术画

    Python实现一行代码自动绘制艺术画

    DiscoArt 是一个很牛的开源模块,它能根据你给定的关键词自动绘画。本文就将利用这一模块实现一行代码自动绘制艺术画,需要的可以参考一下
    2022-12-12
  • Python元类的进阶应用深度探索

    Python元类的进阶应用深度探索

    这篇文章主要介绍了Python元类的进阶应用深度探索,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 基于Python实现俄罗斯方块躲闪小游戏

    基于Python实现俄罗斯方块躲闪小游戏

    这篇文章主要为大家详细介绍了如何基于Python实现有趣的俄罗斯方块躲闪小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-04-04
  • python学习手册中的python多态示例代码

    python学习手册中的python多态示例代码

    多态是面向对象语言的一个基本特性,多态意味着变量并不知道引用的对象是什么,根据引用对象的不同表现不同的行为方式,下面使用一个示例学习他的使用方法
    2014-01-01
  • Python sns.distplot()方法的使用方法

    Python sns.distplot()方法的使用方法

    机器学习中经常会用到图形进行可视化,如在网格搜索(GridSearch)后对特征的重要性进行排序时,用到sns.barplot()函数按照重要程度输出特征,这篇文章主要给大家介绍了关于Python sns.distplot()方法的使用方法,需要的朋友可以参考下
    2022-03-03
  • python中第三方库pyecharts的使用详解

    python中第三方库pyecharts的使用详解

    这篇文章主要介绍了python中第三方库pyecharts的使用, pyecharts的作用是用来做数据图表,本文给大家介绍了作图的步骤及实例代码,需要的朋友可以参考下
    2022-08-08

最新评论