所以我使用了this CSVIMPORT功能,我试图导入一个如下所示的CSV文件:
2014-6-06 08:03:19, 439105, 1053224, Front Entrance
2014-6-06 09:43:21, 439105, 1696241, Main Exit
2014-6-06 10:01:54, 1836139, 1593258, Back Archway
2014-6-06 11:34:26, 845646, external, Exit
2014-6-06 04:45:13, 1464748, 439105, Side Exit
等948739行。基本上,第2列和第3列代表了人们的观点。 ID号,它描述了在一个事件中从一个人到另一个人的呼叫(例如439105呼叫1053224)。每当有人在活动之外打电话给某人时,他们的身份证会显示为"外部"。
我只需要导入第2列和第3列(例如439105和1053224)。问题是我只能让我的代码工作在一个小的csv文件大小而不是一个大的...并且根据this问题,一个超过一百万行的csv文件工作。
根据文件:
[C1 C2 C3] = CSVIMPORT(fileName,' columns',{' C1',' C2',C3'},... ) 这个表单分别从输出变量C1,C2和C3中的列返回数据 列名称区分大小写,并且必须与文件中的列名完全匹配。抓取时 列模式下的数据输出列的数量必须与要读取的列数相匹配 必须是一个。在后一种情况下,来自列的数据作为单个单元矩阵返回。
[C1 C2 C3] = CSVIMPORT(fileName,' columns',[1,3,4] ,,' noHeader',true,...) 这个表单分别从输出变量C1,C2和C3中的列返回数据 当' noHeader'时,columns参数必须包含列索引。选项设置为true。
所以我用过这个:
[C2 C3] = csvimport('hugeCSV.csv','columns',2:3,'noHeader',true)
使用较小的测试csv文件,打印出如下内容:
C2 =
439105
439105
439105
439105
1836139
1464748
1464748
C3 =
'1053224'
'1696241'
'580064'
'1464748'
'external'
'439105'
'1053224'
这就是我想要的。但是,当我使用948739行的实际文件时,我只是得到一个数字列表,看起来像这样:
439105
439105
439105
439105
1836139
1464748
1464748
1464748
1464748
580064
580064
580064
580064
1053224
并且持续了很长一段时间......
我在拨打CSVIMPORT时做错了什么?我无法弄明白......任何帮助都将不胜感激,谢谢!