首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我有一个json格式的数据文件。如何查找并打印前20个eij_max值和关联的pretty_formula?我使用的是python

我有一个json格式的数据文件。如何查找并打印前20个eij_max值和关联的pretty_formula?我使用的是python
EN

Stack Overflow用户
提问于 2021-06-27 07:22:59
回答 1查看 13关注 0票数 0

以下是json格式的数据文件的一部分,其中包含1个条目。我需要找到eij_max值最高的20个化合物(key:pretty_formula)。我很感谢你的帮助,如果这是一个基本的问题,我很抱歉,我对所有这些都是新的。

代码语言:javascript
复制
{
    "num_results": 3402,
    "valid_response": true,
    "criteria": "{\"piezo\": {\"$ne\": null}}",
    "properties": "[\"pretty_formula\", \"piezo\", \"eij_max\", \"band_gap\", \"energy\"]",
    "response": [
        {
            "pretty_formula": "KMg(PO3)3",
            "piezo": {
                "eij_max": 0.09337344787836212,
                "piezoelectric_tensor": [
                    [
                        0.0,
                        0.0,
                        0.0,
                        0.0,
                        0.0,
                        0.0660250018229951
                    ],
                    [
                        0.06602500182299509,
                        -0.06602499453211871,
                        0.0,
                        0.0,
                        0.0,
                        0.0
                    ],
                    [
                        0.0,
                        0.0,
                        0.0,
                        0.0,
                        0.0,
                        0.0
                    ]
                ],
                "v_max": [
                    -0.0,
                    1.0,
                    0.0
                ]
            },
            "eij_max": null,
            "band_gap": 4.9474,
            "energy": -193.18215352
        },
        {
            "pretty_formula": "Sr2CuSi2O7",
EN

回答 1

Stack Overflow用户

发布于 2021-06-27 08:18:46

您可以轻松地执行以下操作来访问eij_max

代码语言:javascript
复制
import json 

  
# Opening JSON file 

f = open('data.json',) 

  
# returns JSON object as  
# a dictionary 

data = json.load(f) 

  
# Iterating through the json 
# list 

for i in data['response']['piezo']['eij_max']
    print(i) 

  
# Closing file 
f.close() 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68146934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档