导入文本文件

您所在的位置:网站首页 csv文件有行数限制吗 导入文本文件

导入文本文件

2024-01-07 06:24| 来源: 网络整理| 查看: 265

导入文本文件

MATLAB® 能够读写分隔文本文件和格式化文本文件(包括 .csv 和 .txt 文件)中的数值数据和非数值数据。文本文件通常包含数值和文本数据以及变量名称和行名称的混合。您可以在 MATLAB 中将这些数据表示为表、时间表、矩阵、元胞数组或字符串数组。

以编程方式或以交互方式从文本文件导入数据。以编程方式导入以使用定制的导入函数,并进一步控制如何使用导入选项导入数据。以交互方式导入,以使用导入工具及其用户界面。

以表的形式导入数据

如果您的文本文件包含表格数据,您可以以表的形式导入数据。table 由包含相同类型数据行的列向变量组成。表中的每个变量可以保留不同数据类型和大小,但每个变量必须有相同的行数。有关表的详细信息,请参阅创建表并为其分配数据。

使用 readtable 函数并指定文件名,从文本文件中将表格数据导入表中。例如,根据示例文件 airlinesmall.csv 创建一个表。

T = readtable('airlinesmall.csv');

显示表的前五行和前五列。

T(1:5,1:5) ans = 5×5 table Year Month DayofMonth DayOfWeek DepTime ____ _____ __________ _________ ________ 1987 10 21 3 {'642' } 1987 10 26 1 {'1021'} 1987 10 23 5 {'2055'} 1987 10 23 5 {'1332'} 1987 10 22 4 {'629' }将数据以时间表形式导入

如果文本文件包含表格数据,其中每行都与时间相关联,则可以将数据以时间表的形式导入。与表一样,时间表允许您存储表格数据变量,这些变量可以有不同数据类型和大小,只要它们有相同的行数。此外,时间表还提供特定于时间的函数,以便使用一个或多个时间表中的时间戳数据执行对齐、组合和计算。有关时间表的详细信息,请参阅创建时间表。

使用 readtimetable 函数将表格数据从文本文件导入时间表。例如,从示例文件 outages.csv 创建一个时间表。

TT = readtimetable('outages.csv');

显示时间表的前五行和前五列。

TT(1:5,1:5)ans = 5×5 timetable OutageTime Region Loss Customers RestorationTime Cause ________________ _____________ ______ __________ ________________ ___________________ 2002-02-01 12:18 {'SouthWest'} 458.98 1.8202e+06 2002-02-07 16:50 {'winter storm' } 2003-01-23 00:49 {'SouthEast'} 530.14 2.1204e+05 NaT {'winter storm' } 2003-02-07 21:15 {'SouthEast'} 289.4 1.4294e+05 2003-02-17 08:14 {'winter storm' } 2004-04-06 05:44 {'West' } 434.81 3.4037e+05 2004-04-06 06:10 {'equipment fault'} 2002-03-16 06:18 {'MidWest' } 186.44 2.1275e+05 2002-03-18 23:23 {'severe storm' } 以矩阵的形式导入数据

如果您的文本文件包含统一的数据(均为同一类型),您可以将数据以矩阵的形式导入。通过将数据导入矩阵中,您可以处理具有最基本格式的数组。

使用 readmatrix 将表格数据从文本文件导入矩阵。例如,从示例文件 basic_matrix.txt 中将数据导入矩阵中。

M = readmatrix('basic_matrix.txt') M = 5×4 6 8 3 1 5 4 7 3 1 6 7 10 4 2 8 2 2 7 5 9将数据以元胞数组的形式导入

元胞数组是一种包含名为元胞的索引数据容器的数据类型,其中的每个元胞都可以包含任意类型的数据。元胞数组通常包含文本列表、文本和数字的组合或者不同大小的数值数组。

您可以使用 readcell 将非均匀数据(每列有不同类型)从文本文件导入元胞数组。例如,显示 basic_cell.txt 的内容,然后将混合数据导入元胞数组。

type basic_cell.txt 1,2,3 hello,world,NaN 10-Oct-2018 10:27:56,1,C = readcell('basic_cell.txt')C=3×3 cell array {[ 1]} {[ 2]} {[ 3]} {'hello' } {'world'} {[ NaN]} {[10-Oct-2018 10:27:56]} {[ 1]} {1x1 missing}您也可以使用 textscan 函数和低级 I/O 工作流将格式化数据从文本文件导入元胞数组。低级 I/O 工作流允许对导入数据进行最大程度地的控制。对于大多数工作流来说,这种程度的控制是不必要的。有关使用低级 I/O 导入文本数据的详细信息,请参阅使用低级 I/O 导入文本数据文件。将数据作为字符串数组导入

如果您的文本文件包含纯文本行,您可以将 MATLAB 中的纯文本表示为字符串数组。字符串数组可存储文本片段,并提供一组用于将文本按数据进行处理的函数。例如,您可以对字符串数组进行索引、重构和进行串联,就像处理任何其他类型的数组一样。

使用 readlines 将文本文件中的纯文本行导入字符串数组。例如,从示例文本文件 badpoem.txt 创建一个字符串数组。由于文本文件有四行纯文本,因此该函数创建了一个 4×1 字符串数组。

lines = readlines("badpoem.txt")lines = 4x1 string "Oranges and lemons," "Pineapples and tea." "Orangutans and monkeys," "Dragonflys or fleas."使用导入选项导入数据以进行更多控制

导入表格数据有时需要对导入过程进行更多控制。要自定义导入过程,您可以创建导入选项对象。该对象具有您可以根据自己的导入需求进行调整的属性。例如,您可以更改变量的数据类型或仅导入变量的子集。有关导入选项的详细信息,请参阅 detectImportOptions。

以交互方式导入数据

如果您更喜欢使用用户界面,您可以使用导入工具以交互方式将数据导入表或其他数据类型。

要打开导入工具,请在主页选项卡的变量部分中,点击导入数据 。或者,在当前文件夹浏览器中右键点击文件名,然后选择导入数据。然后,选择要导入的文件。使用导入工具窗口,设置导入选项,然后点击导入所选内容,将数据导入 MATLAB。有关详细信息,请参阅使用导入工具读取文本文件数据。

另请参阅

导入工具 | readtable | table | readtimetable | readmatrix | readcell | readlines | textscan | detectImportOptions

相关主题创建表并为其分配数据访问表中的数据Import Data from Text File to Table创建时间表使用导入工具读取文本文件数据


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3