我有一个巨大的.txt文件,我想解析其中的一部分(使用文本扫描),例如我有10000行数据和一部分从第300行开始,部分也有一个10行的标题说,我怎么可以跳过前300行(当然不使用文本扫描的标题功能,因为我然后不能得到我的实际10行标题)或有一种方法,我可以跳到第300行并从那里开始文本扫描,就好像301行是第一行一样。使用matlab中的textscan跳过txt文件中的行
0
A
回答
0
因此,假设您的数据是通过生成以下(因为你没有提到它是如何在你的问题格式):
fid = fopen('datafile.txt', 'w');
for i=1:300
fprintf(fid, 'ignore%d\n', i);
end
for i=301:310
fprintf(fid, 'header%d\n', i);
end
for i=311:10000
fprintf(fid, '%d\n', i);
end
fclose(fid);
可以读取数据首先使用fgetl
前进到第300行,然后使用textscan
两次获取标题信息和数据。基本上,要记住的是textscan
从fid
指向的地方开始工作。所以,如果它指向第301行,它将从那里开始扫描。所以,这里的阅读上面的文件,从第301行开始的代码:
fid = fopen('datafile.txt', 'r');
for i=1:300
fgetl(fid);
end
scannedHeader = textscan(fid, '%s', 10);
scannedData = textscan(fid, '%d');
fclose(fid);
NB:如果数据始终是相同的格式,你可以使用ftell
知道在哪里跳到究竟然后使用fseek
去偏移。
相关问题
- 1. textscan txt文件 - Matlab的
- 2. 使用textscan容纳.txt文件中的空白条目 - MATLAB
- 3. Matlab想使用textscan跳过少于1个列的行
- 4. 从.TXT文件跳过行
- 5. Matlab:通过textscan导入.csv文件
- 6. MATLAB textscan标题行
- 7. 如何使用textscan在MATLAB
- 8. 在matlab中跳过文件标题
- 9. 从Matlab中的txt文件中读取
- 10. Matlab的:使用textscan阅读复数
- 11. 如何跳过取自fstream txt文件的C++中的整数?
- 12. 如何使用textscan在Matlab中读取多行?
- 13. 如何跳过C文件中的行?
- 14. 热跳过txt文件中的特殊字符python
- 15. Powershell在导入时跳过txt文件的前两行
- 16. Matlab的:从txt文件
- 17. 如何通过跳过=来从txt文件中读取整数?
- 18. 如何跳过txt文件块
- 19. Textscan在行首跳过所需的空格
- 20. 使用matlab来读取文本文件,但然后跳过#号开头的行
- 21. 如何使用matlab保存txt文件中的图像大小
- 22. 如何通过跳过错误的行在MATLAB中加载csv文件?
- 23. 在Matlab中使用textscan导入多个分隔符的数据
- 24. 在MS Access中跳过前三行的CSV文件(使用DoCmd?)
- 25. 使用CSV文件跳过循环中的第一行(字段)?
- 26. 使用Python跳过csv文件中的行熊猫
- 27. 使用java代码下载文件时,文件中的行跳过换行符
- 28. 替换线conatining使用textscan在MATLAB楠
- 29. 使用textscan在Matlab输出数据
- 30. 错误使用horzcat - textscan - 导入到matlab
不同部分有不同的格式吗?所以你说有一部分你想从300扫描到10,000行。行300到310是标题?数据格式如何? – houtanb
否,比如说300-340是300-310的标题部分,10,000行中可能有几个这样的部分。 – maz