Нет способа эффективно прочитать файл и сделать то, что вы хотите сделать с pandas
.Вот выход -
Используйте параметр chunksize
в ваших интересах -
CHUNKSIZE = 1e6
rows = 0
for df in pd.read_sas('path/to/sas/filename.sas7bdat', chunksize=CHUNKSIZE, iterator=True):
rows += df.shape[0]
# whatever else you want
Пояснение
Это читает миллион строк ввремя (варьируйте chunksize
в зависимости от того, сколько оперативной памяти вы можете себе позволить) и итеративно подсчитывает, что вы хотите.В качестве альтернативы вы можете использовать его для выполнения других операций df
, если вы продолжаете их накапливать.
Предупреждение
На обычном аппаратном обеспечении, пытающемся прочитать ~100 ГБ, все еще будут неэффективными.