繁体   English   中英

Python从JSON文件中获取数据

[英]Python fetch data from json file

我是python的新手。 我正在尝试从data.json文件中提取数据。

如何获得“文件名”和“项目名”? 另外,如何处理数据“ XX \\ XX \\ X”是额外的字符串。

需求输出:

File_Names = ih/1/2/3.java
             ihh/11/22/33.java.java
Project_name = android/hello
File_Names = hi/1/2/3.java
             hih/11/22/33.java.java
Project_name = android/helloworld

data.json

{
    "changed": [
        {
            "prev_revision": "a09936ea19ddc9f69ed00a7929ea81234af82b95", 
            "added_commits": [
                {
                    "Lines_Deleted": 28, 
                    "File_Names": [
                        "1\t3\tih/1/2/3.java", 
                        "1\t1\tihh/11/22/33.java.java"
                    ], 
                    "Files_Modified": 8, 
                    "Lines_Inserted": 90
                }
            ], 
            "project_name": "android/hello"
        }, 
       {
            "prev_revision": "a09936ea19ddc9f69ed00a7929ea81234af82b95", 
            "added_commits": [
                {
                    "Lines_Deleted": 28, 
                    "File_Names": [
                        "14\t3\thi/1/2/3.java", 
                        "1\t1\thih/11/22/33.java.java"
                    ], 
                    "Files_Modified": 8, 
                    "Lines_Inserted": 90
                }
            ], 
            "project_name": "android/helloworld"
        }

    ]
}

import json然后使用json.load(open('data.json'))读取文件。 它将作为python对象(字典,列表,整数,字符串,浮点数)的嵌套层次结构进行加载,您可以据此进行解析。

这是激发您的想象力并传达概念的东西。

import json
x = json.load(open('data.json'))
for sub_dict in x['changed']:
    print('project_name', sub_dict['project_name'])

    for entry in sub_dict['added_commits']:
        print (entry['File_Names'])

您可以使用这种方法

import json

with open('data.json') as json_file: 
    data = json.loads(json_file)
    for item in data['changed']:
        print(item['project_name'], item['added_commits']['File_Names'])

您可以在json模块中使用类似的内容

import json
f = open("file_name.json", "r")
data = f.read()
jsondata = json.loads(data) 
print jsondata # all json file 

print jsondata["changed"] # list after dictionary 

print jsondata["changed"][0] # This will get you all you have in the first occurence within changed
 f.close()

从这里开始,您可以将其与json中想要的任何元素一起使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM