با استفاده از ماژول 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 برای جلوگیری از قرارگیری مسیرهای مطلق در آرشیو استفاده کنید و این کار را در یک اسکریپت تکرارشونده برای اتوماسیون قرار دهید.

توسط پژوهشگر در 221 روز قبل ساعت 01:09
دسته بندی ها: Python Python for beginner
reyhaneh در 221 روز قبل ساعت 14:25

برای اطمینان از عدم قرارگیری مسیرهای مطلق در آرشیو از arcname=os.path.basename(... ) استفاده کنید. استفاده از با با tarfile.open(mode='w:gz') باعث می‌شود آرشیو و منابع به‌طور خودکار بسته شوند. پس از ساخت آرشیو، با getnames() یا getmembers() فهرست آرشیو را بررسی کنید و با extract یا extractfile یکی از فایل‌های CSV را استخراج کنید. اگر قصد پردازش داده دارید، می‌توانید داده‌های استخراج‌شده را با pandas.read_csv بخوانید و به‌طور انعطاف‌پذیر پُرکردن داده‌ها را مدیریت کنید.

گزارش

1 پاسخ

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

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