با استفاده از ماژول tarfile در پایتون، مجموعهای از فایلهای CSV موجود در یک پوشه را در یک فایل tar.gz فشرده کن و سپس محتوای آرشیو را فهرست و یکی از فایلها را استخراج کن.
6.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:09 0.0
برای حل این مسئله از ماژول استاندارد tarfile استفاده کنید: با tarfile.open(mode='w:gz') یک آرشیو بسازید و با استفاده از glob یا os.listdir همه فایلهای *.csv پوشه را پیدا کرده و با add(..., arcname=os.path.basename(...)) به آرشیو اضافه کنید. سپس با باز کردن آرشیو در حالت 'r:gz' از getnames() یا getmembers() برای فهرستبرداری استفاده کنید و با extract یا extractfile یکی از فایلها را استخراج کنید؛ از بلوک with برای بسته شدن خودکار آرشیو استفاده کنید و برای پردازش دادهها پس از استخراج میتوانید از pandas.read_csv بهره ببرید. نکات مفید: از arcname برای جلوگیری از قرارگیری مسیرهای مطلق در آرشیو استفاده کنید و این کار را در یک اسکریپت تکرارشونده برای اتوماسیون قرار دهید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای اطمینان از عدم قرارگیری مسیرهای مطلق در آرشیو از arcname=os.path.basename(... ) استفاده کنید. استفاده از با با tarfile.open(mode='w:gz') باعث میشود آرشیو و منابع بهطور خودکار بسته شوند. پس از ساخت آرشیو، با getnames() یا getmembers() فهرست آرشیو را بررسی کنید و با extract یا extractfile یکی از فایلهای CSV را استخراج کنید. اگر قصد پردازش داده دارید، میتوانید دادههای استخراجشده را با pandas.read_csv بخوانید و بهطور انعطافپذیر پُرکردن دادهها را مدیریت کنید.
گزارش