我现在正在处理庞大的数据集。格式是这样的:
1 1 1 1 1 1 1 1 A 1 1 1 1
1 1 1 1 1 1 1 1 A 1 1 1 1
1 1 1 1 1 1 1 1 A 1 1 1 1
1 1 1 1 1 1 1 1 B 1 1 1 1
1 1 1 1 1 1 1 1 B 1 1 1 1
1 1 1 1 1 1 1 1 C 1 1 1 1
1 1 1 1 1 1 1 1 C 1 1 1 1
1 1 1 1 1 1 1 1 C 1 1 1 1
“1”可以不同。我的目标是识别带有“B”的两行(可能有三到四行带有“B”的连续行)并用“B”提取这些行及其周围的行(例如,前两行带有“A”和以下两行带有'C')。这种类型有几个块,我正在考虑使用 for 循环逐行读取文件。每次当我遇到“A”后跟“B”时,都会确定位置。我尝试使用
for line in file:
if 'A' in line and if 'B' in file.next():
但似乎有些台词丢失了。我的问题是如何使用 for 循环准确识别 AB(或 BC)线对?在那之后,我怎样才能轻松地向后(或向前)几行以在循环中提取所有这些?