我有一个巨大的.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. 从.TXT文件跳过行
- 4. 如何在java中跳过txt文件中的行
- 5. 如何使用textscan在MATLAB
- 6. 如何跳过取自fstream txt文件的C++中的整数?
- 7. 热跳过txt文件中的特殊字符python
- 8. Matlab的:从txt文件
- 9. 如何使用matlab保存txt文件中的图像大小
- 10. 在Matlab中使用textscan导入多个分隔符的数据
- 11. 如何通过跳过错误的行在MATLAB中加载csv文件?
- 12. 错误使用horzcat - textscan - 导入到matlab
- 13. 在MS Access中跳过前三行的CSV文件(使用DoCmd?)
- 14. Matlab:在文件txt中复制数组
- 15. 使用matlab从文件中读取文本时跳过某些词
- 16. 跳过文件,如果csvread失败Matlab
- 17. 如何在fscanning .txt文件时跳过第一行?
- 18. 如何在写入txt文件时跳过多行代码
- 19. 如何将.txt文件转换为matlab中的.csv文件?
- 20. 使用Matlab从.tar.gz中提取txt文件
- 21. 使用RSpec 2.5运行rcov时跳过spec /文件中的文件
- 22. 如何使用textscan读取文件?
- 23. 在使用扫描仪读取txt文件中的文字时跳转线条
- 24. 阅读变化的txt文件的matlab
- 25. Matlab的阅读TXT格式的文件
- 26. Textscan Matlab;不读格式
- 27. 从textread更改为textscan MATLAB
- 28. 使用MATLAB中的匿名函数跳过输出
- 29. 在PowerShell中过滤带.txt文件中的行
- 30. Matlab:读取具有多种格式的txt文件并跳过字符串和void行
不同部分有不同的格式吗?所以你说有一部分你想从300扫描到10,000行。行300到310是标题?数据格式如何? – houtanb
否,比如说300-340是300-310的标题部分,10,000行中可能有几个这样的部分。 – maz