کلیدستان

نسخه‌ی کامل: وارد کردن اطلاعات یک فایل csv بزرگ به درون متلب
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام .
یک نفر ، سوال پرسیده بودن که چطور می تونیم اطلاعات یک فایل csv بزرگ رو به درون نرم افزار متلب وارد کنیم و نکته مهم هم این بود که فایل مورد نظر ایشان دارای اطلاعات زیادی است (زیادی بزرگه) .
اول باید فایل csv رو با نرم افزار excel باز کنیم و سپس save as را انتخاب کنیم و یک فایل دیگر با پسوند xlsx بسازیم . سپس اطلاعات را می توان توسط این فایل xlsx به درون نرم افزار متلب وارد کرد . روش کار در لینک زیر شرح داده شده است :

وارد کردن اطلاعات از Excel به درون متلب

اما متاسفانه فایل زیادی بزرگه . اتفاقی که در این زمان میفته اینه که RAM کامپیوتر کم میاره و همین باعث میشه که روند خواندن اطلاعات برای نرم افزار متلب حسابی طولانی شود . مثلا من فایل مورد نظر را خواستم باز کنم اما تا 1 ساعت هم هنوز نرم افزار متلب بازش نکرده بود و مجبور شدم نرم افزار متلب رو ببندم . وقتی هم نگاه کردم دیدم که RAM کامپیوتر به طور کامل اشغال شده بود .
شاید راه حل اصلی این باشد که از یک کامپیوتر قوی تر استفاده کنیم ، اما می توان روش های دیگر را نیز امتحان کرد .
در این موارد ، من توصیه می کنم که ابتدا یک بار روند شرح داده شده در لینک بالا رو انجام بدید (با یک فایل xlsx با 4 عدد ، نه با بخشی از فایل اصلی) ، تا ابتدا روش رو خوب یاد بگیرید . بعد یک فایل xlsx از بخش اول اطلاعات فایل اصلی بسازید و اون رو وارد متلب بکنید . کلا ببینید با چه مقدار از اطلاعات ، به مشکل بر نمی خورید . سپس اطلاعات را به صورت بخش بخش وارد نرم افزار متلب بکنید .
خوب تا حالا اطلاعات رو به صورت بخش بخش وارد کردیم بنابراین کل اطلاعات درون چندین ماتریس ذخیره شدن . اکنون که قصد داریم روی اطلاعات پردازش انجام بدیم ، دو روش وجود داره . روش اول اینکه برنامه رو طوری بنویسیم که بر روی اطلاعات درون این چند ماتریس پردازش انجام بده . روش دوم هم اینه که چند ماتریس رو با هم ادغام کنیم که البته ممکنه با محدودیت های اندازه ماتریس و بردار در متلب روبرو بشیم .
به هر حال باید این روش ها رو امتحان کنید و ببینید کدوم روش برای شما مناسب است .
اگر اطلاعات رو وارد کردید و با مشکل پر شدن RAM روبرو شدید (با هر کدام از دو روش - اینجا منظورم روش ها نیست) ، یک راه حل وجود داره و اون اینه که اطلاعات رو در چند فایل mat ذخیره کنید و هر بار یکی رو با برنامه بخونید ، روی اطلاعاتش پردازش کنید و سپس اطلاعات اون رو از متلب پاک کنید و به سراغ فایل بعدی برید . این طوری RAM کمتری اشغال میشه .