我有一个要解析的文本文件。在此文件中,每条记录的内容分布在可变数量的行中。每条记录的行数不是一个固定的数字。该文件的内容如下所示:
ID\tcontent\tcontent
\tcontent\tcontent
\tcontent\tcontent
\tcontent\tcontent
ID\tcontent\tcontent
\tcontent\tcontent
\tcontent\tcontent
\tcontent\tcontent
\tcontent\tcontent
\tcontent\tcontent
\tcontent\tcontent
\tcontent\tcontent
ID\tcontent\tcontent
\tcontent\tcontent
我想在第一个选项卡列中有记录的地方对其进行切片(以下行中的 ID 列为空,因此这种确定新记录的方式应该可以工作)。
我当前的代码将它分成五行的块然后合并它:
f = File.read(file).each_line
f.each_slice(5) do | slice_to_handle |
merged_row = slice_to_handle.delete("\n").split("\t").collect(&:strip)
# Dealing with the data here..
end
只要在第一列中设置了 ID,我就需要对其进行修改以对其进行切片。