Я создаю несколько фреймов данных Pandas и сохраняю их как parquet
файлы на моем жестком диске:
dataframe1.to_parquet('dataframe1.parquet', engine='pyarrow')
dataframe2.to_parquet('dataframe2.parquet', engine='pyarrow')
...
Теперь я хотел бы собрать все файлы паркета вместе в виде сжатого файла, используя zipfile
без явногосначала сохраняю файлы паркета на моем жестком диске.Есть ли способ сохранить файлы паркета только временно (на жестком диске или в оперативной памяти), сжать их напрямую и сохранить только сжатый файл?Я хотел бы избежать сохранения файлов паркета вначале, создания из них zip-файла и последующего удаления файлов паркета.Заранее спасибо за вашу поддержку!
Метод, который я адаптировал для хранения каталога со всеми файлами паркета:
import os
import zipfile
def zipdir(path, ziph):
# ziph is zipfile handle
for root, dirs, files in os.walk(path):
for file in files:
ziph.write(os.path.join(root, file))
if __name__ == '__main__':
zipf = zipfile.ZipFile('ParquetFiles.zip', 'w', zipfile.ZIP_DEFLATED)
zipdir('tmp/', zipf)
zipf.close()
Источник: Как создать zip-архив каталога