0% found this document useful (0 votes)
6 views5 pages

FFSDE Python FinalProject

Uploaded by

hamidzamani445
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views5 pages

FFSDE Python FinalProject

Uploaded by

hamidzamani445
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

‫‪Motivation.

txt‬‬

‫تمرین پایانی پایتون‬


‫مهلت تمرین‪:‬‬
‫‪ 23‬دی ماه ‪ ،1402‬ساعت ‪ 12‬ظهر‬
‫)‪(2023 Jan 13‬‬
‫نمره‪1000 :‬‬
‫استاد مجتبی بنائی‬
‫دوره مهندسی داده فیالگر‬
‫شرح تمرین ‪:‬‬

‫هدف از این تمرین‪ ،‬عالوه بر کار با پایتون‪ ،‬آشنایی با‬


‫مسایلی است که یک مهندس داده در کارهای روزانه با‬
‫آنها سروکار دارد‪ .‬از جمله این کارها‪ ،‬دریافت داده از‬
‫منابع مختلف و استخراج اطالعات و نهایتا ذخیره آنها‬
‫است‪( .‬فرآیند ‪)ETL‬‬
‫برای این تمرین قصد داریم فایلهای خالصه داده و ستد‬
‫روزانه سازمان بورس که در این آدرس قرار دارند را‬
‫دریافت‪ ،‬پاکسازی ‪ ،‬پردازش و ذخیره کنیم ‪:‬‬
‫‪http://members.tsetmc.com/tsev2/excel/MarketWa‬‬
‫‪tchPlus.aspx?d=1402-10-09‬‬
‫همانطور که در آدرس باال مشاهده میکنید‪ ،‬انتهای آدرس‬
‫حاوی تاریخ روزی است که قرار است اطالعات آنرا‬
‫دریافت کنید‪.‬‬
‫‪#Filoger‬‬
‫خروجی‌های اصلی تمرین‪:‬‬

‫‪-‬فایلهای روزانه بورس در یک بازه زمانی با قالب ‪ csv‬که در یک پوشه‬


‫با نام ‪( datalake‬دریاچه داده)ذخیره شود‪.‬‬
‫‪-‬مجموعه ای از فایلهای پایتون برای دریافت و پردازش فایلهای‬
‫موجود در دریاچه داده (منظور از دریاچه داده‪ ،‬پوشه ای است که‬
‫فایلها به صورت خام در آن ذخیره شده اند)‬

‫‪#Filoger‬‬
‫فایلهای پایتون مورد نیاز‪:‬‬

‫(‪ ‌)argparser‬بازه زمانی مورد‬


‫‪-‬برنامه ای بنویسید که در خط فرمان (‪argparser‬‬
‫نیاز را گرفته و فایلهای موجود در آن بازه را در پوشه موقت ‪stage‬‬
‫ذخیره کند‪.‬‬
‫آیا می توانید روزهای پنج شنبه و جمعه که بورس تعطیل است را‬
‫حذف کنید و تنها فایلهای داد و ستد بورس برای روزهای کاری‬
‫را دریافت کنید‪.‬‬
‫‪-‬برنامه ای بنویسید که فایلهای بدون رکورد (مثال آنهایی که برای‬
‫روزهای تعطیل بوده است ) را حذف کرده و آنها را به قالب ‪ csv‬تبدیل‬
‫‪ ‌stage‬و‬
‫کند‪ .‬این فایل هم چند پارامتر خط فرمان دارد که آدرس پوشه ‪stage‬‬
‫اینکه آیا فایلهای اکسل اولیه را بعد از تبدیل به ‪ csv‬حدف کند یا نه‬
‫جزء این پارامترها خواهند بود‪.‬‬
‫‪-‬برنامه ای بنویسید که فایلهای ‪ csv‬را دریافت کرده و چند تحلیل‬
‫روی آنها انجام دهد(حداقل سه عدد)‪( .‬انتخاب آنها بر عهده شما ‪:‬‬
‫مثال ده نماد بورسی با بیشترین حجم معامله در‌آن بازه ‪ ،‬بیشترین‬
‫افت قیمت ‪ ،‬بیشترین رشد قیمت و ‪) ...‬‬

‫‪#Filoger‬‬
‫مالحظات ‪:‬‬

‫‪-‬دو فایل اول را به صورت مجموعه ای از توابع مختلف بنویسید اما‬


‫فایل سوم که برای پردازش فایلهای ‪ csv‬است حتما به صورت کالس‬
‫نوشته شود‪.‬‬
‫‪ ‌try‬و ‪ except‬باشند و در قسمت ‪، except‬‬
‫‪-‬تمامی توابع حاوی بخش ‪try‬‬
‫توضیحات خطا را در فایل ‪ error.log‬ذخیره کنید‪.‬‬
‫‪ ‌logging‬پایتون‬
‫به جای پرینت کردن مراحل مختلف کار از ماژول ‪logging‬‬
‫استفاده کنید و تمامی پیام های برنامه مانند این که مثال فایل دیتای‬
‫تاریخ ‪ x‬با موفقیت دانلود شد را به کمک این ماژول و در فایل‬
‫‪ info.log‬ذخیره کنید‪.‬‬

‫موفق باشید‬
‫‪#Filoger‬‬

You might also like