阅读并分析大型表格文本文件
此示例显示了如何为包含表格数据的大型文本文件创建数据存储,然后一次读取和处理一个块或一个文件。
创建一个数据存储
从示例文件创建数据存储AirlinesMall.CSV
使用Tabulartextdatastore
功能。创建数据存储时,您可以指定文本,NA
,在数据中被视为缺少数据。
ds = tabulartextdatastore('airlinesmall.csv',,,,“治疗”,,,,'na');
您可以通过更改其属性来修改数据存储的属性。修改失踪值
属性指定缺失值被视为0。
ds.missingvalue = 0;
在此示例中,选择到达延迟的变量,arrdelay
,作为感兴趣的变量。
ds.selectedVariablenames ='arrdelay';
使用预览
功能。此功能不会影响数据存储的状态。
数据=预览(DS)
数据=8×1桌Arrdelay ________ 8 8 21 13 4 59 3 11
读取数据子集
默认情况下,读
从a中读取Tabulartextdatastore
一次20000行。在每个调用中读取不同数量的行读
,修改读取尺寸
财产的DS
。
ds.ReadSize = 15000;
从中读取数据的子集DS
使用读
功能尽管
环形。循环执行直到hasdata(DS)
返回错误的
。
sums = [];counts = [];尽管hasdata(ds)t = read(ds);sums(end+1)= sum(t.arrdelay);计数(end+1)=长度(t.arrdelay);结尾
计算平均到达延迟。
avgarrivalDelay = sum(sums)/sum(计数)
AvgarrivalDelay = 6.9670
重置数据存储以允许重新读取数据。
重置(DS)
一次阅读一个文件
数据存储可以包含多个文件,每个文件都有不同数量的行。您可以通过设置一个完整的文件从数据存储中读取一个完整的文件读取尺寸
财产为'文件'
。
ds.ReadSize ='文件';
当您更改价值时读取尺寸
从数字到'文件'
反之亦然,MATLAB®重置数据存储。
从DS
使用读
功能尽管
像以前一样循环,并计算平均到达延迟。
sums = [];counts = [];尽管hasdata(ds)t = read(ds);sums(end+1)= sum(t.arrdelay);计数(end+1)=长度(t.arrdelay);结尾avgarrivalDelay = sum(sums)/sum(计数)
AvgarrivalDelay = 6.9670
也可以看看
Tabulartextdatastore
|高的
|MapReduce