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)

总结

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

相关文章

  • Pandas快速合并多张excel表格的两种方法

    Pandas快速合并多张excel表格的两种方法

    最近学习了python遍历目录,下面这篇文章主要给大家介绍了关于Pandas快速合并多张excel表格的两种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • 详解Pytorch+PyG实现GAT过程示例

    详解Pytorch+PyG实现GAT过程示例

    这篇文章主要为大家介绍了Pytorch+PyG实现GAT过程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • python ChainMap的使用详解

    python ChainMap的使用详解

    chainMap是逻辑上合并两个字典为一个逻辑单元,合并后的结构实际上是一个列表,只是逻辑上是仍然为一个字典(并未生成新的),对此列表的操作模拟了各种字典的操作,这篇文章主要介绍了python ChainMap的使用,需要的朋友可以参考下
    2023-03-03
  • PyCharm 2020.2下配置Anaconda环境的方法步骤

    PyCharm 2020.2下配置Anaconda环境的方法步骤

    这篇文章主要介绍了PyCharm 2020.2下配置Anaconda环境的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 在Python web中实现验证码图片代码分享

    在Python web中实现验证码图片代码分享

    这篇文章主要介绍了在Python web中实现验证码图片代码分享,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Pandas中DataFrame.head()函数的具体使用

    Pandas中DataFrame.head()函数的具体使用

    DataFrame.head()是Pandas库中一个非常重要的函数,用于返回DataFrame对象的前n行,本文主要介绍了Pandas中DataFrame.head()函数的具体使用,感兴趣的可以了解一下
    2024-07-07
  • pytorch安装及环境配置的完整过程

    pytorch安装及环境配置的完整过程

    这篇文章主要介绍了pytorch安装及环境配置的完整过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 使用Python生成你的LaTeX公式基础使用

    使用Python生成你的LaTeX公式基础使用

    这篇文章主要介绍了使用Python生成你的LaTeX公式基础使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Pytorch torch.repeat_interleave()用法示例详解

    Pytorch torch.repeat_interleave()用法示例详解

    torch.repeat_interleave() 是 PyTorch 中的一个函数,用于按指定的方式重复张量中的元素,这篇文章主要介绍了Pytorch torch.repeat_interleave()用法示例详解,需要的朋友可以参考下
    2024-01-01
  • Python之requests的使用(二)

    Python之requests的使用(二)

    上一篇我们说了requests的简单用法,知道了如何发送请求,今天我们更深层次的来学习requests。我们看看高级一点的操作,比如讲文件上传,cookies设置,代理设置之类的。感兴趣的同学可以参考阅读
    2023-04-04

最新评论