定义 MATLAB 中表格的导入选项


在本教程中,我们将定义 MATLAB 中表格的各种导入选项。导入选项允许我们将数据导入到表格或其他数据格式中。例如,我们可以利用此选项将给定电子表格文件“sample.xlsx”中的数据以表格的形式读入 MATLAB。

通过使用导入选项,我们可以打开指定的文件,选择所需的输出格式和日期范围,然后保存我们的选择。单击“导入选择”选项后,指定的数据可以轻松地集成到 MATLAB 工作区中。

此外,表格数据不仅可以导入到 MATLAB 工作区,还可以导入到 SimBiology 模型分析器应用程序中。此多功能选项支持各种文件扩展名,包括 Excel 文件(.xls、.xlsx)、SAS XPORT 文件(.xpt)和文本文件(.csv、.txt)。此外,我们还可以选择明确指示数据来源的文件格式。在整个导入过程中,列的解释基于 NONMEM 定义,以确保数据的准确对齐和表示。

在 MATLAB 中,要启动数据导入过程,请在“开始”选项卡的“变量”组中找到并选择“导入数据”选项。

或者,我们可以选择另一种方法,在“当前文件夹”浏览器中右键单击文件名,然后选择“导入数据”选项。

定义 MATLAB 中表格的导入选项

在 MATLAB 中,导入表格的过程涉及使用“readtable”函数,该函数是 MATLAB 中的内置函数。但是,某些情况下需要对表格数据的导入过程进行更高级别的监管。例如,可能存在必须选择特定变量才能导入包含缺失或有问题的行的情况。

因此,为了控制导入过程,创建导入选项实体变得至关重要。可以更改此实体的属性以匹配数据导入过程的确切要求。

在 MATLAB 中创建导入选项

示例

在 MATLAB 中,要为名为“tutorialspointcourses.csv”的样本数据集创建导入选项,我们可以使用“detectImportOptions”函数。此函数将根据给定文本文件的特征创建“DelimitedTextImportOptions”对象。

opts = detectImportOptions('tutorialspointcourses.csv');

自定义表格级导入选项

在 MATLAB 中,可以修改导入选项对象的属性以控制导入过程。某些属性应用于整个表格,而其他属性应用于特定变量。与整个表格相关的属性提供了管理缺失或有问题的数据的规则。例如,可以通过使用 ImportErrorRule 将“省略行”来管理导致导入错误的错误数据。

示例

要替换任何缺失值,请将 MissingRule 指定为“填充”。FillValue 属性的值用作缺失值的替代。例如,可以使用 NaN(非数字)替换缺失的属性。

opts.ImportErrorRule = 'omitrow';
opts.MissingRule = 'fill';

自定义变量级导入选项

示例

要访问和配置特定变量的选项,我们可以使用内置函数“getvaropts”、“setvartype”和“setvaropts”。例如,要查看适用于变量“CourseID”、“CourseName”、“Tutor”和“CourseFee”的当前选项,请使用 getvaropts 函数。

getvaropts(opts,{'CourseID', 'CourseName', 'Tutor', 'CourseFee'});

示例

我们可以使用“setvartype”函数更改变量的数据类型。例如,将变量“CourseID”、“CourseName”和“Tutor”的数据类型更改为“char”,因为它们的值可能不是数字。

opts = setvartype(opts,{'CourseID', 'CourseName', 'Tutor', 'CourseFee'}, {'char', 'char', 'char', 'double'});

要更改对象的其他属性,我们可以使用“setvaropts”函数。

例如,对于“CourseID”变量,通过将“WhiteSpaceRule”属性指定为“trimleading”来删除文本中的任何前导空格。

示例

对于“CourseFee”变量,通过配置“TreatAsMissing”属性,使用“FillValue”属性中指定的 value 填充包含 0 或 NA 的字段。

opts = setvaropts(opts, 'CourseID', 'WhitespaceRule', 'trimleading');
opts = setvaropts(opts, 'CourseFee', 'TreatAsMissing', {'0', 'NA'});

导入并显示表格

示例

最后,在指定所需的变量并使用“readtable”函数导入表格后,显示表格的前 10 行。

opts.SelectedVariableNames = {'CourseID', 'CourseName', 'Tutor', 'CourseFee'}; 
T = readtable('tutorialspointcourses.csv', opts);
T(1:10, :)

输出

ans = 10×4 table
CourseID		CourseName	Tutor		CourseFee
_________		___________	______	        _________
{'1001'}		MATLAB		Manish	        $10
{'1002'}		C#		Imran		$10
{'1003'}		AI		Taabish	        $10
{'1004'}		Public Speak	Dragana	        $10
{'1005'}		Psychology	Vikash	        $10
{'1006'}		ChatGPT		Nfada		$10
{'1007'}		Focus 5		Ram		$10
{'1008'}		Finance		CA N Raja	$10
{'1009'}		English		Dava		$10
{'1010'}		Money Matters	CA N Raja	$10

结论

这就是关于定义 MATLAB 中表格的导入选项的所有内容。在本教程中,我们涵盖了与 MATLAB 中表格的导入选项相关的所有概念。

更新于: 2023年9月4日

85 次浏览

开启你的职业生涯

通过完成课程获得认证

开始
广告

© . All rights reserved.