gpt4 book ai didi

matlab - 在Matlab中读取txt文件

转载 作者:太空宇宙 更新时间:2023-11-03 19:28:34 27 4
gpt4 key购买 nike

我无法读取包含 10 列和 2 行标题的 txt 文件,但问题是在文件中间多次出现相同的标题和 textread() 不起作用。这是我的文件示例:

文件.txt

headerline1 aaaa
headerline2 111 123
20/12/2000 name1 name2 name3... name8 0
21/12/2000 name1 name2 name3... name8 0
22/12/2000 name1 name2 name3... name8 0
headerline1 aaaa
headerline2 111 123
25/12/2000 name1 name2 name3... name8 0
27/12/2000 name1 name2 name3... name8 0
...

这是我试过的代码:

[date, name1, name2, name3, name4, name5, name6, name7, name8, status] = ...
textread('file.txt', '%s %s %s %s %s %s %s %s %s %d', 'headerlines',2);

它准确地在具有重复标题的行中给出错误。你有什么想法我怎样才能避免这些标题并阅读完整的文件?问题是我有数百个此类文件,所以我无法每次都手动删除。

感谢您的帮助。

最佳答案

您可以首先使用 textscan 将整行作为一个字符串逐行读取文件。然后去掉headerlines,处理剩下的

这是一个例子:

%# read the whole file to a temporary cell array
fid = fopen(filename,'rt');
tmp = textscan(fid,'%s','Delimiter','\n');
fclose(fid);

%# remove the lines starting with headerline
tmp = tmp{1};
idx = cellfun(@(x) strcmp(x(1:10),'headerline'), tmp);
tmp(idx) = [];

%# split and concatenate the rest
result = regexp(tmp,' ','split');
result = cat(1,result{:});

%# delete temporary array (if you want)
clear tmp

关于matlab - 在Matlab中读取txt文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9195716/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com