У меня есть огромный JSON
файл (множество файлов меньшего размера .log
(JSON
), объединенных вместе до общего объема 8 ГБ), состоящий из нескольких различных объектов (где каждый объект занимает строка). Я хочу прочитать этот файл в pandas dataframe
. Меня интересует только сбор JSON
записей для одного конкретного объекта (это резко уменьшит размер файла для чтения). Можно ли это сделать с помощью pandas
или python
перед чтением в dataframe
?
Мой текущий код выглядит следующим образом:
import pandas as pd
import glob
df = pd.concat([pd.read_json(f, encoding = "ISO-8859-1", lines=True) for f in glob.glob("logs/sample1/*.log")], ignore_index=True)
Как вы можете себе представить, это очень сложно в вычислительном отношении и требует много времени для завершения. Есть ли способ обработать это перед чтением в dataframe
?
Образец данных:
{"Name": "1","variable": "value","X": {"nested_var": 5000,"nested_var2": 2000}}
{"Name": "2","variable": "value","X": {"nested_var": 1222,"nested_var2": 8465}}
{"Name": "2","variable": "value","X": {"nested_var": 123,"nested_var2": 865}}
{"Name": "1","variable": "value","X": {"nested_var": 5500,"nested_var2": 2070}}
{"Name": "2","variable": "value","X": {"nested_var": 985,"nested_var2": 85}}
{"Name": "2","variable": "value","X": {"nested_var": 45,"nested_var2": 77}}
Я хочу читать только те случаи, когда name = 1