【问题标题】:How to get a specific string from file? [closed]如何从文件中获取特定的字符串? [关闭]
【发布时间】:2021-06-09 18:42:16
【问题描述】:

我有一个这样的 JSON 文件:

{"objects":[{"featureId":"ckm39acfw00043b6a4i8vv8zf","schemaId":"ckm399dnn07ax0y8hdncv51yy","title":"Buildings","value":"buildings","color":"#1CE6FF","bbox":{
top":110,"left":799,"height":42,"width":53},"instanceURI":<"https://api.labelbox.com/masks/feature/ckm39acfw00043b6a4i8vv8zf?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJja20yN3F1aDVwNzh2MDc4OXh3YmE3eWo5Iiwib3JnYW5pemF0aW9uSWQiOiJja20yN3F0cm1wNzhvMDc4OXBlaHJiZG4wIiwiaWF0IjoxNjE1MzcyNjUxLCJleHAiOjE2MTc5NjQ2NTF9.ALYeG0mpNvnOpAuj6O3h0OFcrREOtOvJqqVqqt8xcqw"
},{"featureId":"ckm39agzr00073b6alzzwpm77","schemaId":"ckm399dnn07ax0y8hdncv51yy","title":"Buildings","value":"buildings","color":"#1CE6FF","bbox":

{"top":151,"left":875,"height":45,"width":120},"instanceURI":"https://api.labelbox.com/masks/feature/ckm39agzr00073b6alzzwpm77?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJja20yN3F1aDVwNzh2MDc4OXh3YmE3eWo5Iiwib3JnYW5pemF0aW9uSWQiOiJja20yN3F0cm1wNzhvMDc4OXBlaHJiZG4wIiwiaWF0IjoxNjE1MzcyNjUxLCJleHAiOjE2MTc5NjQ2NTF9.ALYeG0mpNvnOpAuj6O3h0OFcrREOtOvJqqVqqt8xcqw"},{"featureId":"ckm39an0e000a3b6ae7vc0bo8","schemaId":"ckm399dnn07ax0y8hdncv51yy","title":"Buildings","value":"buildings","color":"#1CE6FF","bbox":{"top":635,"left":952,"height":93,"width":84},"instanceURI":"https://api.labelbox.com/masks/feature/ckm39an0e000a3b6ae7vc0bo8?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJja20yN3F1aDVwNzh2MDc4OXh3YmE3eWo5Iiwib3JnYW5pemF0aW9uSWQiOiJja20yN3F0cm1wNzhvMDc4OXBlaHJiZG4wIiwiaWF0IjoxNjE1MzcyNjUxLCJleHAiOjE2MTc5NjQ2NTF9.ALYeG0mpNvnOpAuj6O3h0OFcrREOtOvJqqVqqt8xcqw"},{"featureId":"ckm39bbki000g3b6au6s5s3se","schemaId":"ckm399dnn07ax0y8hdncv51yy","title":"Buildings","value":"buildings","color":"#1CE6FF","bbox":{"top":646,"left":764,"height":74,"width":93},"instanceURI":"https://api.labelbox.com/masks/feature/ckm39bbki000g3b6au6s5s3se?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJja20yN3F1aDVwNzh2MDc4OXh3YmE3eWo5Iiwib3JnYW5pemF0aW9uSWQiOiJja20yN3F0cm1wNzhvMDc4OXBlaHJiZG4wIiwiaWF0IjoxNjE1MzcyNjUxLCJleHAiOjE2MTc5NjQ2NTF9.ALYeG0mpNvnOpAuj6O3h0OFcrREOtOvJqqVqqt8xcqw"
},{"featureId":"ckm39cgdi000p3b6aru669fzh","schemaId":"ckm399dnn07ax0y8hdncv51yy","title":"Buildings","value":"buildings","color":"#1CE6FF","bbox":

{"top":375,"left":916,"height":52,"width":80},"instanceURI":"https://api.labelbox.com/masks/feature/ckm39cgdi000p3b6aru669fzh?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJja20yN3F1aDVwNzh2MDc4OXh3YmE3eWo5Iiwib3JnYW5pemF0aW9uSWQiOiJja20yN3F0cm1wNzhvMDc4OXBlaHJiZG4wIiwiaWF0IjoxNjE1MzcyNjUxLCJleHAiOjE2MTc5NjQ2NTF9.ALYeG0mpNvnOpAuj6O3h0OFcrREOtOvJqqVqqt8xcqw"
},{"featureId":"ckm39ckyi000s3b6armui3tn3","schemaId":"ckm399dnn07ax0y8hdncv51yy","title":"Buildings","value":"buildings","color":"#1CE6FF","bbox":{"top":420,"left":914,"height":72,"width":86},"instanceURI":"https://api.labelbox.com/masks/feature/ckm39ckyi000s3b6armui3tn3?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJja20yN3F1aDVwNzh2MDc4OXh3YmE3eWo5Iiwib3JnYW5pemF0aW9uSWQiOiJja20yN3F0cm1wNzhvMDc4OXBlaHJiZG4wIiwiaWF0IjoxNjE1MzcyNjUxLCJleHAiOjE2MTc5NjQ2NTF9.ALYeG0mpNvnOpAuj6O3h0OFcrREOtOvJqqVqqt8xcqw"
},{"featureId":"ckm39cp6a000v3b6a6cjj16xp","schemaId":"ckm399dnn07ax0y8hdncv51yy","title":"Buildings","value":"buildings","color":"#1CE6FF","bbox":{"top":478,"left":867,"height":66,"width":137},"instanceURI":"https://api.labelbox.com/masks/feature/ckm39cp6a000v3b6a6cjj16xp?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJja20yN3F1aDVwNzh2MDc4OXh3YmE3eWo5Iiwib3JnYW5pemF0aW9uSWQiOiJja20yN3F0cm1wNzhvMDc4OXBlaHJiZG4wIiwiaWF0IjoxNjE1MzcyNjUxLCJleHAiOjE2MTc5NjQ2NTF9.ALYeG0mpNvnOpAuj6O3h0OFcrREOtOvJqqVqqt8xcqw"},{"featureId":"ckm39cyom000y3b6aqp2x5i0s","schemaId":"ckm399dnn07ax0y8hdncv51yy","title":"Buildings","value":"buildings","color":"#1CE6FF","bbox":{"top":703,"left":806,"height":85,"width":95},"instanceURI":"https://api.labelbox.com/masks/feature/ckm39cyom000y3b6aqp2x5i0s?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJja20yN3F1aDVwNzh2MDc4OXh3YmE3eWo5Iiwib3JnYW5pemF0aW9uSWQiOiJja20yN3F0cm1wNzhvMDc4OXBlaHJiZG4wIiwiaWF0IjoxNjE1MzcyNjUxLCJleHAiOjE2MTc5NjQ2NTF9.ALYeG0mpNvnOpAuj6O3h0OFcrREOtOvJqqVqqt8xcqw"},{"featureId":"ckm39dz3t00143b6a2brbj4qi","schemaId":"ckm399dnn07ax0y8hdncv51yy","title":"Buildings","value":"buildings","color":"#1CE6FF","bbox":{"top":41,"left":823,"height":50,"width":80},"instanceURI":"https://api.labelbox.com/masks/feature/ckm39dz3t00143b6a2brbj4qi?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJja20yN3F1aDVwNzh2MDc4OXh3YmE3eWo5Iiwib3JnYW5pemF0aW9uSWQiOiJja20yN3F0cm1wNzhvMDc4OXBlaHJiZG4wIiwiaWF0IjoxNjE1MzcyNjUxLCJleHAiOjE2MTc5NjQ2NTF9.ALYeG0mpNvnOpAuj6O3h0OFcrREOtOvJqqVqqt8xcqw"},{"featureId":"ckm39eco400173b6a35p84q7y","schemaId":"ckm399dnn07ax0y8hdncv51yy","title":"Buildings","value":"buildings","color":"#1CE6FF","bbox":{"top":31,"left":892,"height":62,"width":95},"instanceURI":"https://api.labelbox.com/masks/feature/ckm39eco400173b6a35p84q7y?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJja20yN3F1aDVwNzh2MDc4OXh3YmE3eWo5Iiwib3JnYW5pemF0aW9uSWQiOiJja20yN3F0cm1wNzhvMDc4OXBlaHJiZG4wIiwiaWF0IjoxNjE1MzcyNjUxLCJleHAiOjE2MTc5NjQ2NTF9.ALYeG0mpNvnOpAuj6O3h0OFcrREOtOvJqqVqqt8xcqw"}],"classifications":[]}

我想在数组中保存所有出现的顶部、左侧、右侧、高度和宽度。我该怎么做?

【问题讨论】:

  • 这里的典型格式是发布您尝试过的代码,以便一些人可以帮助回答。不只是为您解决问题。
  • 另外,您提供的 JSON 无效,可能是因为复制粘贴错误?
  • 好的,这是我的第一个问题。很抱歉
  • 请阅读What topics can I ask about here?Welcome to Stack Overflow 介绍导览。 “告诉我如何解决这个编码问题”是off-topic for Stack Overflow。您应该发送honest attempt at the solution,然后然后询问有关它的具体问题(如有必要)。
  • 如果您展示结果数组 应该 的样子也会很有用。

标签: python arrays string file


【解决方案1】:

首先,JSON 文件看起来无效。对于我的回答,我将假设一个有效的文件,如下所示:

#example.json
{
  "top":151,
  "left":875,
  "height":45,
  "width":120
}

接下来你可以使用python的内置库'json'来加载json并提取信息:

import json

with open('test.json', 'r') as fh:
    d = json.load(fh)
print(d.get('top'))

请注意,首先您将 json 文件的内容加载到字典中,然后您可以像使用字典一样使用 d.get('top')d['top'] 访问它的内容

【讨论】:

  • 感谢您的回答。现在我在这一行出现了这个错误“TypeError:列表索引必须是整数或切片,而不是 str”-> print(d.get('top'))
  • 我相信这是由您的 json 文件引起的,其中包含无效的 dict 和 list 级别。确保它看起来像这样: { "objects": ["obj1","obj2"], "top":151, "left":875, "height":45, "width":120 }
  • 是的,我的json结构不一样。最后我尝试: print(data[0]["Label"]["objects"][0]["bbox"]["top"]) 它的工作!
猜你喜欢
  • 1970-01-01
  • 2012-05-25
  • 1970-01-01
  • 1970-01-01
  • 2014-08-09
  • 2013-06-28
  • 2017-07-28
  • 2012-10-31
  • 1970-01-01
相关资源
最近更新 更多