یک برنامه پایتون بنویس که یک فایل ZIP حاوی چند فایل CSV را باز کند، هر CSV را با pandas بخواند، آمار توصیفی پایهای (مانند mean، median و تعداد مقادیر گمشده) برای هر فایل محاسبه کند و همه نتایج را در یک فایل متنی خروجی ذخیره نماید.
19.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 04:03 0.0
برای حل این مسئله از ماژول استاندارد zipfile و کلاس ZipFile استفاده کنید تا فایل زیپ را با context manager باز کرده و با متد namelist() یا infolist() فایلهای داخل آن را پیمایش کنید؛ فقط فایلهایی که پسوند .csv دارند را پردازش کنید. هر فایل CSV را با pandas.read_csv با ورودیای که از ZipFile.open() برگرفتهاید (در صورت نیاز با io.TextIOWrapper برای تنظیم encoding) بخوانید، آمار توصیفی را با df.describe() و تعداد مقادیر تهی را با df.isnull().sum() بگیرید و نتایج را مرتب در یک فایل متنی با open(..., 'w') بنویسید؛ از context manager برای باز و بسته کردن فایلها استفاده کنید و برای فایلهای بزرگ میتوانید از read_csv با chunksize بهره ببرید تا مصرف حافظه کاهش یابد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای جلوگیری از مشکلات رمزگذاری بهتر است از ZipFile.open همراه با io.TextIOWrapper و مشخص کردن encoding استفاده کنید تا خطاهای خواندن فایلها رخ ندهد؛ همچنین برای فایلهای بزرگ از pandas.read_csv با chunksize استفاده کنید و آمار را بهصورت تجمعی محاسبه کنید تا حافظه حفظ شود. توجه کنید که df.describe() معمولاً فقط ستونهای عددی را شامل میشود و median را باید با df.median() جداگانه یا با توابع تجمعی روی بخشهای chunk شده محاسبه کنید. در خروجی متنی هر فایل را با یک سربرگ مشخص بنویسید و تعداد مقادیر گمشده را با df.isnull().sum() کنار آمارهای دیگر گزارش کنید.
گزارش