یک اسکریپت پایتون بنویسید که یک فایل متنی شامل تاریخها به فرمت 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() پاک کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته عملی این است که برای جلوگیری از خطاهای ناشی از فضاهای خالی، هر خط را با 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) را ترجیح دهید تا مصرف حافظه کاهش یابد.
گزارش