View Categories

استيراد البيانات النصية الرقمية

الوقت المقدَر للقراءة: 6 دقائق

استيراد البيانات النصية الرقمية

إذا كان ملف البيانات الخاص بك يحتوي على بيانات رقمية فقط، فيمكنك استخدام العديد من وظائف استيراد 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 م بإزالة كل النصوص الغريبة.

error: Content is protected !!
Scroll to Top