Ijson.items (f, 'meta.view.columns.item') также обрабатывает данные - PullRequest
0 голосов
/ 31 января 2019

Я перебираю большой json-файл в формате схемы с ijson.items и префиксом meta.view.columns.item, но решение разбирает все строки 1.4M.Я полагаю, что мог бы использовать префикс в .parse (), но это не тот маршрут, по которому я пошел по разным причинам.

Файл данных - это 1,4 млн строк с мета-данными и данными, такими как

{
  "meta":{...schemadef...},

  "data":{...datafromdefinedmeta....}
}

with open('C:\\Console\\data\\seattle911rows.json', 'r', encoding='utf-8', buffering=2000000) as f:
    objects = ijson.items(f, 'meta.view.columns.item') 
    cols = (x for x in objects if x['id'] > -1)
    for col in cols:
        do something

Я ожидаю, что пройдусь только по разделу meta.view.columns.item и выйду, когда доберусь до корневого префикса «data».В то время как я получаю информацию от обхода, он проходит по каждой строке.Я хотел бы остановиться в конце мета, поскольку раздел данных, очевидно, составляет большую часть файла.

...