主要内容

读取文本文件的集合或序列

当数据存储在多个文本文件中时,您可以使用tabularTextDatastore管理和导入数据。这个例子展示了如何使用tabularTextDatastore从文本文件集合中全部读取数据,或一次读取一个文件。

数据

在本例中,为文件夹C: \ DataTxt包含文本文件的集合。在变量中捕获这个位置位置.数据包含10文本文件,其中每个文件包含10数据行。结果因文件和数据的不同而不同。

位置=“C: \ DataTxt”;dir(位置)
.File07.csv . File03.csv . File05.csv .File02.csv File04.csv File06.csv File08.csv File10.csv

创建数据存储

使用文件的位置创建一个数据存储。

ds = tabularTextDatastore(location)
ds = TabularTextDatastore属性:Files: {'C:\DataTxt\File01.csv';“C: \ DataTxt \ File02.csv”;“C: \ DataTxt \ File03.csv”……和7个更多}FileEncoding: 'UTF-8' AlternateFileSystemRoots: {} ReadVariableNames: true VariableNames:{'姓氏','性别','年龄'…和7更多}DatetimeLocale: en_US文本格式属性:NumHeaderLines: 0分隔符:',' RowDelimiter: '\r\n' TreatAsMissing: " MissingValue: NaN高级文本格式属性:TextscanFormats: {'%q', '%q', '%f'…TextType: 'char' ExponentCharacters: 'eEdD' CommentStyle: "空白:' \b\t' MultipleDelimitersAsOne: false属性,控制表返回预览,读取,readall: SelectedVariableNames: {'LastName', 'Gender', 'Age'…和7}SelectedFormats: {% q, ' % q ', ' % f '……和7个}ReadSize: 20000行

从数据存储读取数据

使用readall函数从数据存储中导入数据。如果集合中的数据适合内存,则可以使用readall函数。

allData = readall(ds);大小(allData)
ans =1×2100年10

方法导入数据,每次导入一个文件函数。若要控制导入的数据量,在调用read之前,请调整ReadSize属性。设置ReadSize“文件”或者一个正整数。

  • 如果ReadSize“文件”,然后每个呼叫到每次读取一个文件中的所有数据。

  • 如果ReadSize是正整数,那么每个调用到读取指定的行数ReadSize,或者更少,如果它到达数据的末尾。

ds。ReadSize =“文件”;firstFile = read(ds)%读取第一个文件
firstFile =10×10表LastName性别年龄身高体重吸烟者收缩压舒张压SelfAssessedHealthStatus位置  __________ ________ ___ ___________________________ ______ ______ _______ ________ _________ ________________________ ' 史密斯“男性“38”县综合医院“71 - 176”真正的“124 - 93”优秀“约翰逊“男性“43”VA医院“69 - 163”错误“109 77”公平“威廉姆斯“女性“38”圣玛丽医疗中心64 131的错误' 125 83”好“琼斯“女性“40”VA医院“67 133”错误“117 75”公平的'布朗' '女' 49 '县总医院' 64 119 '假' 122 80 '好' '戴维斯' '女' 46 '圣玛丽医疗中心' 68 '假' 121 70 '好' '米勒' '女' 33 'VA医院' 64 142 '真' 130 88 '好' '威尔逊' '男' 40 'VA医院' 68 180 '假' 115 82 '好' '摩尔' '男' 28 '圣玛丽医疗中心' 68 183 '假' 115 78 '优秀' '泰勒' '女' 31 '县总医院' 66 132 '假' 118 86 '优秀
secondFile = read(ds)%读取第二个文件
secondFile =10×10表LastName性别年龄身高体重吸烟者收缩压舒张压SelfAssessedHealthStatus位置  __________ ________ ___ ___________________________ ______ ______ _______ ________ _________ ________________________ ' 安德森“女性“45”县综合医院“68 128”假“114 77”优秀“托马斯”“女性“42”圣玛丽医疗中心“66 - 137”假“115 68”可怜的“杰克逊'男' 25 ' VA医院“71 174”错误“127 74”可怜的“白”“男性“39”VA医院“72 - 202”真正的“130 - 95”的“'Harris' 'Female' 36 'St. Mary's Medical Center' 65 129 'FALSE' 114 79 'Good' 'Martin' 'Male' 48 'VA Hospital' 71 181 'TRUE' 130 92 'Good' 'Thompson' 'Male' 32 'St. Mary's Medical Center' 69 191 'TRUE' 124 95 'Excellent' 'Garcia' 'Female' 27 'VA Hospital' 69 131 'TRUE' 123 79 'Fair' 'Martinez' 'Male' 37 'County General Hospital' 70 179 'FALSE' 119 77 'Good' 'Robinson' 'Male' 50 'County General Hospital' 68 172 'FALSE' 125 76 'Good'

另请参阅

|||||

相关的话题