یک اسکریپت پایتون بنویسید که یک لیست از دیکشنریهای حاوی دادههای حسگر (کلیدها: timestamp, temperature, humidity) را با استفاده از csv.DictWriter به فایل CSV با هدرهای مرتب ['timestamp','temperature','humidity'] صادر کند به طوری که اگر برخی دیکشنریها کلیدی را ندارند، مقدار خالی در فایل نوشته شود.
8.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:55 0.0
برای حل این مسئله از ماژول استاندارد csv پایتون استفاده کنید: فایل را با with و حالت نوشتن باز کرده و هنگام باز کردن فایل از newline='' و encoding='utf-8' استفاده کنید، سپس یک csv.DictWriter با fieldnames مشخص بسازید، writeheader() را فراخوانی کنید و با writerows(data_list) دادهها را بنویسید. برای مقداردهی به کلیدهای گمشده میتوانید از پارامتر restval='' در سازنده DictWriter یا قبل از نوشتن با dict.get('key','') مقادیر پیشفرض را قرار دهید؛ همچنین برای نادیدهگرفتن کلیدهای اضافی از extrasaction='ignore' بهره ببرید. این تکنیک در اتوماسیونِ استخراج داده و آمادهسازی فایلهای CSV برای تحلیل دادههای علوم داده بسیار کاربردی است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای صادرکردن دادههای حسگر با csv.DictWriter، فیلدنامها را به ترتیب ['timestamp','temperature','humidity'] مشخص کنید و فایل را با with و گزینههای newline='' و encoding='utf-8' باز کنید تا از خطوط اضافی جلوگیری شود. برای مقداردهی پیشفرض کلیدهای گمشده، از restval='' در سازنده DictWriter یا از dict.get استفاده کنید تا مقدار خالی در CSV نوشته شود. برای نادیدهگرفتن کلیدهای اضافی نیز میتوانید extrasaction='ignore' را به DictWriter بدهید تا تنها ستونهای تعریفشده در fieldnames نوشته شوند. استفاده از writerows(data_list) کار را سریع میکند و با writeheader() هم عنوانبندی درست فایل CSV انجام میشود.
گزارش