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利用shutil实现拷贝文件功能

    Python利用shutil实现拷贝文件功能

    shutil 是一个 Python 内置模块,该模块对文件的复制、删除和压缩等操作都提供了非常方便的支持。本文将利用shutil实现拷贝文件功能,需要的可以参考一下
    2022-07-07
  • django认证系统实现自定义权限管理的方法

    django认证系统实现自定义权限管理的方法

    这篇文章主要介绍了django认证系统实现自定义权限管理的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Python手写回归树的实现

    Python手写回归树的实现

    本文主要介绍了Python手写回归树的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Python OpenCV之图片缩放的实现(cv2.resize)

    Python OpenCV之图片缩放的实现(cv2.resize)

    这篇文章主要介绍了Python OpenCV之图片缩放的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • 使用Python将xmind脑图转成excel用例的实现代码(一)

    使用Python将xmind脑图转成excel用例的实现代码(一)

    这篇文章主要介绍了使用Python将xmind脑图转成excel用例的实现代码(一),本文给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Python文件循环写入行时防止覆盖的解决方法

    Python文件循环写入行时防止覆盖的解决方法

    今天小编就为大家分享一篇Python文件循环写入行时防止覆盖的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Python常用类型转换实现代码实例

    Python常用类型转换实现代码实例

    这篇文章主要介绍了Python常用类型转换实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Python根据过滤器拆分列表

    Python根据过滤器拆分列表

    这篇文章主要介绍了Python根据过滤器拆分列表,利用Python代码实现代通过过滤器拆分列表的功能。文章围绕其相关资料展开详细内容,需要的朋友可以参考一下
    2021-11-11
  • Python的UTC时间转换讲解

    Python的UTC时间转换讲解

    今天小编就为大家分享一篇关于Python的UTC时间转换讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Pandas实现dataframe和np.array的相互转换

    Pandas实现dataframe和np.array的相互转换

    今天小编就为大家分享一篇Pandas实现dataframe和np.array的相互转换,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11

最新评论