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