本代码功能描述:
1、按顺序批量读取一个文件夹下面的所有txt文档
2、对于每一个文档,打开后,按照一定的规则挑取其中的部分行,写入另外的同名文件。
常用于将一个txt文档数据分成(split)多分。ubuntu也有类似的命令split.
clc;
clear all;
% 输入文件所在的文件夹路径
folder_path = 'D:\Hnu\';
% 获取文件夹中所有txt类型的文件列表
files = dir(fullfile(folder_path, '*.txt'));
% 遍历每个文件并读取内容
for i = 1:length(files)
file_path = fullfile(folder_path, files(i).name);%文件夹路径+文件名
inputFile = fopen(file_path, 'r'); % 只读的方式打开输入文件
outputFile_train_name = strcat(files(i).name, '_train');% 为输出文件命名
outputFile_test_name = strcat(files(i).name, '_test');%为输出文件命名
outputFile_train = fopen(outputFile_train_name, 'w'); % 'w' 表示写模式,会创建一个新文件或覆盖已有文件,打开输出文件1
outputFile_test = fopen(outputFile_test_name, 'w'); % 'w' 表示写模式,会创建一个新文件或覆盖已有文件,打开输出文件2
A = load(file_path);%加载输入文件
[m,n]=size(A); % 获取输入文件的行数
%下面这个循环实现了每隔100行挑出一行存入一个文件,剩下的数据存入另一个文件,即将原始数据按照100:1切割
for j = 1:m
if mod(j,100)==0
line = fgetl(inputFil

本文介绍了一个使用Matlab编写的脚本,它按顺序读取指定文件夹下的txt文件,每100行数据切割成两个文件,一个用于训练(train),一个用于测试(test)。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



