یک اسکریپت پایتون بنویسید که چند 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 است.

توسط پژوهشگر در 198 روز قبل ساعت 01:21
دسته بندی ها: Python Python for beginner
sara در 198 روز قبل ساعت 01:22

برای ایجاد 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 استفاده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری