با استفاده از ماژول csv در پایتون، یک فایل CSV را باز کنید، از csv.Sniffer برای تشخیص جداکننده و وجود هدر استفاده کنید و سپس نام ستون‌ها (در صورت وجود هدر) و تعداد ردیف‌های داده را چاپ کنید.

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

0.0

فایل را با with open به‌صورت متنی باز کنید، یک نمونه کوچک از ابتدای فایل (مثلاً 2048 بایت) بخوانید و csv.Sniffer().sniff(sample) را برای تشخیص dialect و csv.Sniffer().has_header(sample) برای تشخیص هدر به‌کار ببرید. پس از گرفتن اطلاعات، فایل را با seek(0) به ابتدا برگردانید و با csv.reader و dialectِ تشخیصی، ردیف‌ها را بخوانید؛ اگر هدر وجود داشت از next(reader) برای گرفتن نام ستون‌ها استفاده کنید و سپس تعداد ردیف‌ها را شمارش کنید. نکته‌ها: از خواندن کل فایل برای نمونه‌گیری خودداری کنید تا برای فایل‌های بزرگ مناسب باشد، و برای خودکارسازی پردازش‌های بعدی می‌توانید خروجی را به ساختاری مانند فهرست یا فایل خلاصه منتقل کنید؛ به‌عنوان جایگزین ساده‌تر در پروژه‌های Data Science می‌توانید از pandas.read_csv با پارامتر sep=None و engine='python' استفاده کنید.

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

نکته: csv.Sniffer ابزار مفیدی است اما ممکن است با نمونهٔ کوچک یا فایل‌هایی با جداکننده‌های نامرتب یا هدرهای عددی اشتباه کند؛ بنابراین همیشه نمونهٔ کافی (مثلاً 2048–8192 بایت) و باز کردن فایل با newline='' و مشخص‌کردن encoding مناسب (یا تشخیص آن با chardet) را در نظر بگیرید. در صورت شک، به‌عنوان پشتیبان ساده، ابتدا برای چند جداکنندهٔ متداول (',', ';', '\t', '|') تست کنید یا از pandas.read_csv(sep=None, engine='python') استفاده کنید. همچنین برای فایل‌های بسیار بزرگ از خواندن تکه‌ای و شمارش ردیف‌ها به‌صورت streaming استفاده کنید تا حافظه مصرفی رشد نکند.

گزارش

1 پاسخ

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

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