Я несколько новичок в python и пытаюсь найти конкретное c ключевое слово в Json файле. Я читал о том, как работают словари и списки в python, и я сталкивался с этим:
complex_list = [["a",["b",["c","x"]]],42]
complex_list[0][1]
output: ['b', ['c', 'x']]
complex_list[0][1][1][0]
output: 'c'
Как я понимаю, в complex_ list[0][1]
, [0]
- это полная скобка [
, ]
и [1]
обращаются ко второй части скобки: [, [this one] ]
.
Теперь этот: complex_list = [["a",["b",["c","x"]]],42]
, в списке 2 элемента правильно? a, b, c и x принадлежат одному набору, а 42 принадлежит второму набору. Я не знаю, как это интерпретировать: complex_list[0][1][1][0]
для доступа 'c'
.
Может кто-нибудь сломать это, пожалуйста? Я спрашиваю об этом, потому что думаю, что это то, что мне нужно использовать для решения проблемы, которую я объясняю ниже.
Это небольшой пример файла, с которым я сейчас работаю:
{ (white)
"results": [
{ (black)
"Fruit": "Apple",
"Nested fruit": [
"Orange"
],
"Title1": "Some text",
"Contents": { (yellow)
"Name 1": [
"John Smith"
],
"Name 2": [
"Tyler"
],
"Name 3": [
"Bob",
"Rob"
],
"Name 4": [
"Linda"
],
"Name 5": [
"Mark",
"Matt"
],
"Some boolean": [
true
]
}, (yellow)
"More stuff": "More random text",
"Confusing": [
{ (red)
"Some info": "456",
"Info I want": "849456"
} (red)
],
"Not important": [
{ (blue)
"random text": "bla",
"random text2": "bla bla"
} (blue)
],
"Not important 2": "000",
"Not important3": [
"whatever",
"whatever"
],
"Not important 4": "16",
"Not important 5": "0058"
} (black)
]
} (white)
Я поставил цвета в скобках рядом с соответствующими фигурными скобками, чтобы их было легко отличить guish. Следуя некоторым примерам в Интернете, я нашел:
import json
with open('searchingKeywords.json') as f:
data = json.load(f)
print(data.keys())
for k in data:
for v in data[k]:
if 'More stuff' in v:
print("yes")
, который печатает:
dict_keys(['results'])
yes
Есть только 1 ключ, но как насчет содержимого? Разве это не другой ключ в результатах? Я так растерялся. Что меня интересует, так это «информация, которую я хочу» внутри «Запутанная». Как мне искать во многих вложенных вещах, если в нем содержится ключевое слово «Информация, которую я хочу»? Первоначально я пытался читать построчно - однажды я проанализировал файл Json в объекте Python - и затем увидел, найдено ли ключевое слово «Информация, которую я хочу» в каждой строке, но я продолжал получать ошибки. Кроме того, файл, с которым я работаю, огромен, и «Информация, которую я хочу» может быть вложена по-другому.