Я ищу эффективный способ - с точки зрения памяти и скорости - для анализа большого объема данных JSON (порядка нескольких сотен МБ) в python.
I посмотрел на пакет i json: https://pypi.org/project/ijson/ и поэкспериментировал с его функцией разбора, но синтаксический анализатор событий для l oop выглядит очень медленным, если бы я анализировал что-то в середине или внизу JSON.
Ниже приведен образец аналогичной json структуры, которую я имею. JSON представляет данные нескольких сотен веб-сайтов, поэтому data.items.website может стать очень большим, как и data.items.ids. При такой большой структуре - я обнаружил, что i json анализатор событий для l oop работает очень медленно, если бы мне нужно было получать информацию о некоторых данных в середине или внизу data.items.website или data.items. ids.
{
"data": {
"items": {
"website": [
[
"abc.com",
[
[
"data1",
{
"type1": 10,
"type2": 11
}
],
[
"data2",
{
"type1": 100,
"type2": 150
}
],
[
"data3",
{
"type1": 40,
"type2": 50
}
]
]
]
]
},
"ids": [
[
"id1",
1
],
[
"id2",
2
]
]
}
}
for prefix, event, value in parser:
if prefix.startswith('data.items.ids'):
print(f"prefix {prefix}, event {event}, value {value}")
Я не уверен, правильно ли я использую i json или наилучшим образом, чтобы воспользоваться его преимуществами, которые дают мне скорость, а также сохраняют низкое потребление памяти для анализа из больших количеств JSON.
Может ли кто-нибудь помочь?