با استفاده از ماژول zipfile و pandas یک اسکریپت بنویس که چند DataFrame نمونه را به فرمت CSV ذخیره کند و سپس همهی فایلهای CSV تولید شده را در یک فایل ZIP با فشردهسازی ZIP_DEFLATED قرار دهد.
4.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:14 0.0
برای حل این مسئله از pandas برای ساختن و ذخیره DataFrameها با df.to_csv و از ماژول استاندارد zipfile برای نوشتن فایل ZIP استفاده کنید؛ بهتر است از دستور with zipfile.ZipFile('datasets.zip','w',compression=zipfile.ZIP_DEFLATED) بهعنوان context manager بهره ببرید تا فایل بهدرستی بسته شود. نکات مفید: قبل از اضافه کردن فایلها به ZIP از os.path.basename برای arcname استفاده کنید تا مسیر کامل در آرشیو نیاید، و در صورت نیاز پس از فشردهسازی فایلهای CSV موقت را حذف کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
استفاده از zipfile با یک context manager (with) و ذخیره چند DataFrame به CSV با pandas، روشی مطمئن و خوانا برای فشردهسازی است. قبل از اضافه کردن فایلها به ZIP، از os.path.basename برای arcname استفاده کنید تا مسیر کامل در آرشیو ذخیره نشود و در صورت نیاز فایلهای CSV موقتی را حذف کنید. برای کارایی بهتر میتوانید CSVها را یا بهصورت درون حافظه با io.StringIO بنویسید و از zipfile.writestr استفاده کنید یا بهطور معمول روی دیسک موقتا ذخیره کرده و پس از فشردهسازی حذف کنید. همچنین استفاده از df.to_csv با index=False باعث میشود فایلهای CSV تمیزتر و کوچکتر باشند.
گزارش