یک اسکریپت پایتون بنویسید که با استفاده از pathlib تمام فایل‌های CSV در یک پوشه را پیدا کرده، آنها را با هم ترکیب کند و خروجی یک فایل CSV واحد ذخیره نماید.

16.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 03:42

0.0

برای حل این مسئله از pathlib.Path برای پیمایش پوشه (مثلاً Path("data").glob("*.csv")) استفاده کنید و هر فایل را با pandas بخوانید و در یک لیست نگهدارید سپس با pd.concat لیست را به یک DataFrame واحد تبدیل کنید و با to_csv ذخیره کنید؛ بهتر است از ignore_index=True در concat و index=False در to_csv استفاده کنید. نکات: قبل از ترکیب تعداد و نام ستون‌ها را چک کنید، اگر لیست فایل‌ها خالی بود پیام مناسب نشان دهید، و برای خودکارسازی پارامترهای ورودی از argparse یا sys.argv برای گرفتن مسیر پوشه و نام فایل خروجی بهره ببرید؛ همچنین برای فایل‌های با انکدینگ متفاوت گزینه encoding را در read_csv و to_csv در نظر بگیرید.

توسط پژوهشگر در 198 روز قبل ساعت 03:42
دسته بندی ها: Python Python for beginner
arash در 198 روز قبل ساعت 03:42

قبل از الحاق مطمئن شوید که ستون‌ها و نام‌های هدر در تمام فایل‌ها سازگار هستند و در صورت نیاز ستون‌های اضافی/گمشده را هماهنگ یا پر کنید تا به هم نریزند. برای فایل‌های بزرگ یا انکدینگ‌های مختلف از پارامترهایی مثل encoding، dtype، و chunksize در pandas.read_csv استفاده کنید تا مصرف حافظه کنترل شود و در صورت بزرگ بودن داده‌ها از پردازش تکه‌ای و نوشتن تدریجی به فایل خروجی بهره ببرید. همیشه لیست فایل‌ها را چک کنید و در صورت خالی بودن پیغام مناسب نمایش دهید و از pd.concat(..., ignore_index=True) و to_csv(..., index=False) برای نتیجه‌ی نهایی استفاده کنید. برای قابل‌استفاده‌تر شدن اسکریپت، مسیر پوشه و نام خروجی را از طریق argparse دریافت کنید و ارورها را با try/except مناسب مدیریت کنید.

گزارش

1 پاسخ

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

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