欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MATLAB程序去除文件中的空白行

程序员文章站 2022-03-03 23:07:13
...

 有时间我们会遇到如下的文件:

figure;

I1=imread('1.jpg');


imshow(I1);


hold on;
Loc1=[y,y];


plot(Loc1,'r*');

% plot(Y) creates a 2-D line plot of the data in Y versus the indey of each value.

% If Y is a matriy, then the plot function plots the columns of Y versus their row number.


% The y-ayis scale ranges from 1 to the number of rows in Y

 这个文件含有很多空行,这实在是一个不太好看的文件。你希望看到的文件是不是这样的:

figure;
I1=imread('1.jpg');
imshow(I1);
hold on;
Loc1=[y,y];
plot(Loc1,'r*');
% plot(Y) creates a 2-D line plot of the data in Y versus the indey of each value.
% If Y is a matriy, then the plot function plots the columns of Y versus their row number.
% The y-ayis scale ranges from 1 to the number of rows in Y

      如果我想去除这些空行干怎么办啦,手动删除?文件短小,手动来也快,大了怎么搞? 这里就用Matlab程序来搞定这个事情,其他程序语言应该也行只是好不好实现罢了,估计Python干这个比较简洁。不多说直接上解决的程序:

function RemoveFileEmptyRow(ReadFilePath,WriteFilePath)
%% 2017/06/22 by DQ 
% 此算法为移除文本中空行
FidRead=fopen(ReadFilePath,'rb','ieee-le','GBK');
FidWrite=fopen(WriteFilePath,'wb','ieee-le','GBK');
while ~feof(FidRead)
    FileRowStr = fgetl(FidRead);
    if ~isempty(FileRowStr )
    fprintf(FidWrite,'%s\n',FileRowStr);
    end
end
fclose(FidRead);
fclose(FidWrite);
end

      好了把含有空行的文件命名为f1.txt,整理后的文件命名为f2.txt,然后运行一下上面这个程序,你就会得到想要的结果了。

clc;
clear;
close all;
ReadFilePath='f1.txt';
WriteFilePath='f2.txt';
RemoveFileEmptyRow(ReadFilePath,WriteFilePath)

     上面得到的结果保存在f2.txt,去这个文件看看是不是下面的内容:

figure;
I1=imread('1.jpg');
imshow(I1);
hold on;
Loc1=[y,y];
plot(Loc1,'r*');
% plot(Y) creates a 2-D line plot of the data in Y versus the indey of each value.
% If Y is a matriy, then the plot function plots the columns of Y versus their row number.
% The y-ayis scale ranges from 1 to the number of rows in Y
    当很多文件出现这种状况,这种处理方式还是很便捷的把