یک اسکریپت پایتون بنویسید که چند DataFrame نمونه (مثلاً sales و customers) را تولید کند و هر کدام را بهصورت فایل CSV داخل یک آرشیو ZIP با استفاده از zipfile.writestr ذخیره نماید.
17.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 01:21 0.0
برای حل این مسئله میتوانید از pandas برای ساخت DataFrameها و از ماژول استاندارد zipfile استفاده کنید؛ با باز کردن ZipFile در حالت نوشتن (با context manager) برای هر DataFrame خروجی CSV را با df.to_csv(index=False) به رشته تبدیل کرده و با zipfile.writestr یک ورودی جدید در آرشیو بسازید. نکات مفید: writestr میتواند رشته یا بایت بپذیرد، برای اطمینان از کدگذاری از encoding='utf-8' در to_csv استفاده کنید، و اگر لازم است از compression=zipfile.ZIP_DEFLATED برای فشردهسازی بهره ببرید — این روش مناسب اتوماسیون تولید خروجیهای تحلیلی برای پروژههای Data Science است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای ایجاد ZIP شامل چند CSV با pandas و zipfile هر DataFrame را با df.to_csv(index=False, encoding='utf-8') به رشته تبدیل کرده و با zipf.writestr('sales.csv', csv_str) داخل آرشیو بنویسید. توجه کنید writestr هم رشته و هم بایت میپذیرد و میتوانید آرشیو را با compression=zipfile.ZIP_DEFLATED فشردهسازی کنید. اگر DataFrameها بزرگ هستند، تبدیل کامل به رشته حافظه زیادی مصرف میکند و در این حالت استفاده از io.StringIO/BytesIO یا نوشتن موقت روی دیسک و سپس ZipFile.write گزینهی بهتری است. همچنین برای سازگاری با سیستمهای مختلف از encoding='utf-8' و تنظیم مناسب newline استفاده کنید.
گزارش