开发者

Python如何读取json文件

开发者 https://www.devze.com 2023-11-30 09:18 出处:网络 作者: 晚风吹儿
目录python读取json文件JSON文件读取JSON数据Python解析json数据并保存为csv文件总结Python读取json文件
目录
  • python读取json文件
    • JSON文件
    • 读取JSON数据
  • Python解析json数据并保存为csv文件
    • 总结

      Python读取json文件

      JSON文件

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

      代码如下(示例):

      {
                "itemandroid":
                        [
                          {
                            "requests":
                            {
                              "url": "",
                              "body":
                              {
                                
                                "isWindow": 0,
                                "logoUrl": "",
                                "name": "new2",
                                "router": "",
                                "sort": 0,
                                "systemId": 0,
                                "useType": 0
                              }
                            },
                            "response":
                                    [
                                      {"codeandroid":"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": "",
        js                        "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:
          dataffNVszTs_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)

      总结

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

      0

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      关注公众号