Я пытаюсь загрузить большой набор записей из mongodb в pandas, и я хочу сделать это партиями по 5000. С pymongo Command cursor
я могу получить первые 5000 записей, но я не знаю, как перейти к следующим 5000.
В конечном итоге я хочу
def load_data(command_cursor):
pd.DataFrame(list(command_cursor))
Но это при больших объемах данных замораживает мою систему, поэтому я хочу сделать это партиями
if num_records > 5000:
df = json_normalize(list(records.batch_size(5000)))
while records.alive:
try:
records.next()
except:
break
df.append(json_normalize(list(records.batch_size(5000))))
else:
df = json_normalize(list(records))
return df
Атрибут alive
всегда False
, а next
всегда выбрасывает StopIteration