У меня большой файл со строкой json в каждой строке, и я хочу выбрать несколько атрибутов и сохранить их как csv.У меня есть следующий код для этого.Есть около 2 миллионов строк, и я хочу извлечь часть из них, до 1 миллиона.Я знаю, что лучшим решением было бы хранить jsons не в одном файле, так что, может быть, есть способ разбить его первым?
В любом случае, если подобный код достигает предела памяти, при попытке создать кадр данных сразу.Не могли бы вы предложить наиболее подходящее решение, пожалуйста?
import json
import pandas as pd
from itertools import islice
from pandas.io.json import json_normalize
data = []
with open("input.json") as f:
head = list(islice(f, 0, 100000))
for line in head:
if 'cat' in line:
data.append(json.loads(line))
#creating a dataframe
df = json_normalize(data, errors='ignore')
df = df[['col1','col2','col3']]
df.to_csv("output.csv", header=True, sep=';')