یک اسکریپت پایتون بنویسید که یک DataFrame ساده را در حافظه با استفاده از io.BytesIO به فرمت CSV بنویسد، سپس همان دادهها را از BytesIO بخواند و جمع یکی از ستونهای عددی را محاسبه و چاپ کند.
3.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:25 0.0
برای حل این سوال میتوانید از pandas برای ساخت و خواندن CSV و از io.BytesIO برای کار با دادهها در حافظه استفاده کنید: ابتدا یک DataFrame نمونه بسازید، خروجی CSV آن را با .to_csv() به بایت تبدیل (با .encode('utf-8')) و در یک BytesIO بنویسید، سپس با seek(0) اشارهگر را به ابتدای بافر برگردانید و با pandas.read_csv یا با استفاده از io.TextIOWrapper روی BytesIO دوباره بخوانید و جمع ستون مورد نظر را محاسبه کنید. نکتهها: قبل از خواندن seek(0) را فراموش نکنید، میتوانید به جای pandas از ماژول csv هم استفاده کنید و برای خواندن متنی از BytesIO از io.TextIOWrapper استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکتهٔ مهم این است که پس از نوشتن دادهها به BytesIO حتماً با seek(0) اشارهگر را به آغاز بافر برگردانید تا دوباره بتوانید دادهها را بخوانید. هنگام خواندن دوباره با pandas یا CSV معمولاً استفاده از TextIOWrapper با encoding='utf-8' سادهتر است تا از مشکلات خطی جلوگیری شود. همچنین مطمئن شوید که ستون عددی موردنظر بهدرستی به نوع عددی (int/float) تبدیل شده باشد تا جمع آن به درستی محاسبه شود. ترجیحاً در عملیات نوشتن از index=False استفاده کنید تا ستون ایندکس در خروجی CSV گنجانده نشود.
گزارش