خواندن اطلاعات یک خط مشخص از یک فایل متنی، با دستورهای fopen و textscan ، در متلب (MATLAB)
زمانی که مشغول خواندن اطلاعات یک فایل متنی در متلب (MATLAB) هستیم، ممکن است که بخواهیم تنها یک یا چند خط مشخص از آن فایل متنی، خوانده شود. مثلا فرض کنید که بخواهیم تنها خط شماره 3 از فایل متنی، خوانده شود. در این مبحث، این مورد را با یک مثال شرح می دهیم.
فرض کنید یک فایل متنی با نام example.txt داریم که اطلاعات زیر درون آن نوشته شده است :
Line number 2
Line number 3
Line number 4
اکنون می خواهیم که اطلاعات موجود در خط شماره 3 آن را توسط متلب بخوانیم (اطلاعات را در متغیری ذخیره کنیم)، برای این منظور، کدهای زیر را می نویسیم :
close all
clc
fid=fopen('example.txt');
A=textscan(fid, '%s', 'delimiter', '\n');
Line_Number=3;
Line_Information=A{1}{Line_Number}
ابتدا فایل example.txt را با دستور fopen باز کرده ایم، سپس کل اطلاعات آن را با دستور textscan به صورت یک آرایه سلولی (cell array) در متلب ذخیره می کنیم. همان طور که مشاهده می کنید، درون پرانتز دستور textscan ، مقدار delimiter را برابر \n تعیین کرده ایم، delimiter همان جداکننده است که باعث می شود که بخش های مختلف آرایه، بر اساس علامتی که تعیین می کنیم، مشخص شود. علامت های \n برای رفتن به خط جدید به کار می رود، بنابراین وقتی علامت های \n را به عنوان جداکننده تعیین می کنیم، باعث می شود که هر خط از فایل متنی، در یک بخش از آرایه سلولی قرار داده شود.
شماره خط مورد نظرمان را در متغیر Line_Number ذخیره کرده ایم و در آخر، اطلاعات خط سوم از فایل متنی، در متغیر Line_Information ذخیره خواهد شد.
نتیجه :
Line number 3