我怎样才能从一个csv进口只有数字。与文本头文件?

10视图(30天)
我有成百上千的csv文件,例如连接其中一个(不得不缩短它,因为它是大于5 MB)。每个人都有10 ^ 6行数据。
我想要导入这些文件自动Matlab代码。这是完全足以将它们导入一个接一个,但不幸的是我一直手动预处理数据和文本编辑器。问题是每个. csv文件头中的文本。我想进口的数量第二,第三和第四列标题,而不是文本。但即使我指定的列,我不能把收到的数据存储在数字计算。这是我的解决方案与预处理数据:
pre_data =数据存储(“Data.csv”);
块= 0 (1、3);
hasdata (pre_data)
派=阅读(pre_data);
派=派(:,1:3);
派= table2array(派);
块=[块;饼);
结束
一块一块=(^ 6 + 8,9时10分许:);
以“片”,我现在可以轻松地运行计算
导入数据预处理,我试着“ds。SelectedVariableNames”,取代“数据存储”和“csvread”。但没有工作。
等人的建议,如何导入csv文件作为一个容易处理的1000000 x3-double ?
1评论
dpb
dpb 2018年12月15日
编辑:dpb 2018年12月15日
只是附加的文本前几个足够(10)的文件,显示标题和数据结构;有多少行数据后的文件头完全是物质的解决方案(只要你有足够的内存来保存数据)。
关键问?是关于头文件结构是一样的,总是相同的行数,有一致的空白记录(如果有的话)在头后,等等,等等,等等,…
也有相同数量的变量(列)在文件和记录正确分隔如果有缺失的数据吗?

登录置评。

接受的答案

杰里米·休斯
杰里米·休斯 2018年12月16日
你应该能够添加 “NumHeaderLines”7 数据存储调用,得到你想要的。
问题是,这看起来很像一个CSV文件从Excel导出。有很多多余的逗号,抛弃了所有的文件格式检测。
1评论
Christoph Mußig
Christoph Mußig 2018年12月16日
谢谢你们所有人的想法和技巧。的解决方案添加NumHeaderLines, 7到数据存储调用完全工作,解决了这个问题。

登录置评。

更多的答案(0)

下载188bet金宝搏


释放

R2018a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!