استيراد البيانات النصية الرقمية #
إذا كان ملف البيانات الخاص بك يحتوي على بيانات رقمية فقط، فيمكنك استخدام العديد من وظائف استيراد MATLAB، اعتمادًا على كيفية تحديد البيانات.
إذا كانت البيانات مستطيلة، أي أن كل صف يحتوي على نفس عدد العناصر، فإن أبسط أمر يتم استخدامه هو أمر التحميل load. (يمكن أيضًا استخدام أمر التحميل لاستيراد ملفات MAT-files، وهو تنسيق MATLAB الثنائي لحفظ مساحة العمل).
على سبيل المثال، يحتوي الملف المسمى my_data.txt على صفين من الأرقام مفصولة بأحرف مسافات.
12 3 4 5
6 7 8 9 10
عند استخدام التحميل load كأمر، فإنه يستورد البيانات وينشئ متغيرًا في مساحة العمل بنفس الاسم كاسم الملف، مطروحًا منه امتداد الملف:
load my_data.txt;
whos
Name Size Bytes Class
my_data 2×5 80 double array
my_data
my_data =
1 2 3 4 5
6 7 8 9 10
إذا كنت تريد تسمية متغير مساحة العمل بشيء آخر غير اسم الملف، فاستخدم الصيغة الوظيفية لدالة للتحميل load. في المثال التالي، يتم تحميل البيانات من my_data.txt في متغير مساحة العمل A:
A = load(‘my_data.txt’);
استيراد ملفات بيانات ASCII المحددة #
إذا كان ملف البيانات الخاص بك يستخدم حرفًا غير المسافة كحرف محدد، فلديك خيار من عدة وظائف استيراد يمكنك استخدامها. أبسط استخدام هو وظيفة dlmread.
على سبيل المثال، ضع في اعتبارك ملفًا يسمى ph.dat يتم فصل محتوياته بفواصل منقوطة:
7.2;8.5;6.2;6.6
5.4;9.2;8.1;7.2
لقراءة محتويات هذا الملف بالكامل في مصفوفة تسمى A، أدخل ما يلي:
A = dlmread(‘ph.dat’, ‘;’);
يمكنك تحديد المحدد المستخدم في ملف البيانات باعتباره الوسيطة الثانية لوظيفة dlmread. لاحظ أنه على الرغم من عدم اتباع العناصر الأخيرة في كل صف بحرف محدد، لا يزال بإمكان dlmread معالجة الملف بشكل صحيح. يتجاهل dlmread أحرف المسافات بين عناصر البيانات. لذلك، يعمل أمر dlmread السابق حتى لو كانت محتويات ph.dat مرتبة كما يلي:
7.2; 8.5; 6.2;6.6
5.4; 9.2 ;8.1;7.2
استيراد بيانات رقمية برؤوس نصية #
لاستيراد ملف بيانات ASCII يحتوي على رؤوس نصية، استخدم وظيفة قراءة النص textread، مع تحديد وسيطة خطوط الرأس headerlines. يقبل textread مجموعة من المعلمات (أو الوسيطات) المحددة مسبقًا التي تتحكم في جوانب مختلفة من التحويل. (للحصول على قائمة كاملة بهذه المعلمات، راجع صفحة مرجع قراءة النص). تتيح لك معلمة “headerlines” تحديد عدد الأسطر الموجودة في رأس الملف التي يجب أن يتجاهلها ملف نصي.
على سبيل المثال، يحتوي الملف grades.dat على بيانات رقمية منسقة برأس نص من سطر واحد:
Grade1 Grade2 Grade3
78.8 55.9 45.9
99.5 66.8 78.0
89.5 77.0 56.7
لاستيراد هذه البيانات، استخدم هذا الأمر:
[grade1 grade2 grade3] = textread('grades.dat','%f %f %f',...
'headerlines',1)
grade1 =
78.8000
99.5000
89.5000
grade2 =
55.9000
66.8000
77.0000
grade3 =
45.9000
78.0000
56.7000
استيراد بيانات أبجدية ورقمية مختلطة #
إذا كان ملف البيانات يحتوي على مزيج من بيانات ASCII الأبجدية والرقمية، فاستخدم وظيفة textread لاستيراد البيانات. يمكن للقراءة النصية إرجاع متغيرات إخراج متعددة ويمكنك تحديد نوع البيانات لكل متغير.
على سبيل المثال، يحتوي الملف mydata.dat على مزيج من البيانات الأبجدية والرقمية.
Sally Type1 12.34 45 Yes
Larry Type2 34.56 54 Yes
Tommy Type1 67.89 23 No
ملاحظة: لقراءة ملف بيانات ASCII يحتوي على بيانات رقمية بشكل أساسي ولكن مع رؤوس أعمدة نصية، راجع “استيراد بيانات رقمية برؤوس نصية”.
لقراءة محتويات الملف mydata.dat بالكامل في مساحة العمل، حدد اسم ملف البيانات وسلسلة التنسيق format string كوسائط لوظيفة textread. في سلسلة التنسيق format string، تقوم بتضمين محددات التحويل التي تحدد كيف تريد تفسير كل عنصر من عناصر البيانات. على سبيل المثال، حدد %s لبيانات السلاسل، و%f لبيانات الفاصلة العائمة، وهكذا. (للحصول على قائمة كاملة بمحددات التنسيق، راجع صفحة مرجع وظيفة textread).
لكل محدد تحويل في سلسلة التنسيق الخاصة بك، يجب عليك تحديد متغير إخراج منفصل. تعالج وظيفة textread كل عنصر بيانات في الملف كما هو محدد في سلسلة التنسيق ويضع القيمة في متغير الإخراج. يجب أن يتطابق عدد متغيرات الإخراج مع عدد محددات التحويل في سلسلة التنسيق.
في هذا المثال، تقرأ وظيفة textread الملف mydata.dat، مع تطبيق سلسلة التنسيق format string على كل سطر في الملف حتى نهاية الملف.
[names,types,x,y,answer] = textread('mydata.dat','%s %s %f ...
%d %s',1)
names =
'Sally'
'Larry'
'Tommy'
types =
'Type1'
'Type2'
'Type1'
x =
12.3400
34.5600
67.8900
y =
45
54
23
answer =
'Yes'
'Yes'
'No'
إذا كانت بياناتك تستخدم حرفًا غير المسافة كحرف محدد، فيجب عليك استخدام معلمة الوظيفة textread “حرف محدد” delimiter لتحديد الحرف المحدد. على سبيل المثال، إذا كان الملف mydata.dat يستخدم فاصلة منقوطة كحرف محدد، يمكنك استخدام هذا الأمر:
[names,types,x,y,answer]=textread('mydata.dat','%s %s %f ...
%d %s', 'delimiter',';')
راجع صفحة مرجع textread لمزيد من المعلومات حول هذه المعلمات الاختيارية.
تصدير بيانات ASCII م بإزالة كل النصوص الغريبة.