如果我的文本文件有一个标题记录,并且字段由管道“|”分隔像 - >
之类的东西Column1|Column2|Column3\n
A|B|C\n
E|F|G\n
1|2|X\n
有没有办法可以通过编程方式确定文件中是否存在标题记录?问题是标题并不总是一致的(因此,Column1在某些文件中可能称为Column100)
答案 0 :(得分:1)
您可以阅读文件的第一行,将其拆分为“|”,然后检查以确保每个列名与正则表达式/^Column\d+$/
匹配。
my @columns = split /\|/, $first_line;
if ( @columns == grep { m/^Column\d+$/ } @columns ) {
# each column in the first line looks like a header
} else {
# ...
}
答案 1 :(得分:1)
我只知道:标题行字段几乎肯定是单词(文本),数据行是不同的数据类型(按列)。因此,如果第一行中存在按类型但不存在相同类型的列,则表示存在标题。
您需要某种数据类型测试程序,并且需要此文本文件中的大约5行才能清除它。
答案 2 :(得分:0)
不,你没有提供足够的信息。您描述的标题的唯一令人遗憾的属性是管道符号,并且除了标题之外的任何内容都不能存在,前面不能有非管道线。