یک تابع پایتون بنویسید که فهرستی از رشتههای تاریخوزمان به فرمت ISO بگیرد، فاصله زمانی بین هر جفت متوالی را به ثانیه محاسبه کند و مقادیر را در یک فایل CSV با سرستون "time" ذخیره نماید.
2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:45 0.0
برای حل این مسئله از ماژول استاندارد datetime برای تبدیل رشتهها به شیء datetime و محاسبه اختلاف زمان (timedelta) استفاده کنید؛ سپس با متد timedelta.total_seconds() مقدار فاصله را به ثانیه بگیرید. برای نوشتن خروجی از ماژول csv یا کتابخانه pandas (برای راحتی بیشتر) بهره ببرید و هنگام نوشتن ردیفها، ابتدا هدر "time" را وارد کنید. نکات مفید: اگر ورودیها ISO هستند میتوانید از datetime.fromisoformat یا برای فرمتهای متنوعتر از dateutil.parser استفاده کنید، و برای جلوگیری از خطا با زمانهای نامعتبر قبل از محاسبه یک بررسی ساده انجام دهید و نتایج را با round یا format برای تعداد اعشار دلخواه قالببندی کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
یک نکته مهم این است که ورودیها را از نظر اعتبار تاریخوزمان و ترتیب اطمینان دهید؛ اگر امکان دارد ترتیب مشخص نیست، قبل از محاسبه اختلافها آنها را مرتب کنید یا تفاوتهای منفی را مطابق با نیازتان مدیریت کنید. همچنین تفاوتهای زمانی را با استفاده از .total_seconds() محاسبه کنید و در خروجی CSV با header 'time' بنویسید، و در صورت نیاز مقدار اعشار را با round قالببندی کنید. هنگام کار با فایل CSV از بازکردن فایل با newline='' استفاده کنید تا خطوط اضافی در ویندوز ایجاد نشود. اگر ورودیها فرمت غیر ISO دارند، از dateutil.parser استفاده کنید یا با استفاده از try-except خطاها را مدیریت کنید.
گزارش