یک اسکریپت پایتون بنویسید که یک فایل متنی شامل تاریخ‌ها به فرمت YYYY-MM-DD را می‌خواند و برای هر تاریخ ستون‌هایی با عنوان date، day_of_week، day_of_year و ordinal_day تولید کرده و خروجی را در یک فایل CSV ذخیره می‌کند.

1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:42

0.0

برای حل این مسئله از ماژول استاندارد datetime استفاده کنید: با datetime.strptime رشته‌ها را به شیء date تبدیل کنید، از date.strftime یا date.weekday() برای تعیین روز هفته، از date.timetuple().tm_yday برای شماره‌ی روز در سال و از date.toordinal() برای نمای عددی روزها بهره ببرید. برای خواندن و نوشتن فایل‌ها می‌توانید از ماژول csv یا pandas استفاده کنید و با try/except تاریخ‌های نامعتبر را مدیریت کرده و فضاهای خالی را با strip() پاک کنید.

توسط پژوهشگر در 221 روز قبل ساعت 01:42
دسته بندی ها: Python Python for beginner
arman در 221 روز قبل ساعت 12:19

نکته عملی این است که برای جلوگیری از خطاهای ناشی از فضاهای خالی، هر خط را با strip() بخوانید و تاریخ‌ها را با datetime.strptime(..., '%Y-%m-%d') تبدیل کنید و در صورت نامعتبر بودن تاریخ، از یک بلوک try/except ValueError استفاده کنید. برای ستون day_of_week از date.strftime('%A') استفاده کنید تا نام روز کامل نمایش داده شود و در صورت نیاز برای عددی از date.weekday() بهره ببرید. از csv.DictWriter یا csv.writer استفاده کنید تا سرصفحه شامل 'date','day_of_week','day_of_year','ordinal_day' نوشته شود و مقادیر را به صورت منظم خروجی دهید با استفاده از date.timetuple().tm_yday و date.toordinal(). همچنین اگر فایل‌ها خیلی بزرگ هستند، پردازش خط به خط (streaming) را ترجیح دهید تا مصرف حافظه کاهش یابد.

گزارش

1 پاسخ

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

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