یک برنامه پایتون بنویس که یک فایل 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 بهره ببرید تا مصرف حافظه کاهش یابد.

توسط پژوهشگر در 198 روز قبل ساعت 04:03
دسته بندی ها: Python Python for beginner
nima در 198 روز قبل ساعت 04:04

برای جلوگیری از مشکلات رمزگذاری بهتر است از ZipFile.open همراه با io.TextIOWrapper و مشخص کردن encoding استفاده کنید تا خطاهای خواندن فایل‌ها رخ ندهد؛ همچنین برای فایل‌های بزرگ از pandas.read_csv با chunksize استفاده کنید و آمار را به‌صورت تجمعی محاسبه کنید تا حافظه حفظ شود. توجه کنید که df.describe() معمولاً فقط ستون‌های عددی را شامل می‌شود و median را باید با df.median() جداگانه یا با توابع تجمعی روی بخش‌های chunk شده محاسبه کنید. در خروجی متنی هر فایل را با یک سربرگ مشخص بنویسید و تعداد مقادیر گمشده را با df.isnull().sum() کنار آمارهای دیگر گزارش کنید.

گزارش

1 پاسخ

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

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