【发布时间】:2020-12-28 20:02:08
【问题描述】:
尝试对一些大型的旧平面文本文件(老实说是一团糟)进行一些核对。我遇到的问题是我找到了匹配的键,我试图获取第一组具有匹配表名的连续行,而忽略其余行。我将如何阅读我需要的内容而不是其他内容?玩弄休息,但逻辑在逃避我。
示例:如果我正在寻找 101 的 PK 和饮料的表名,我想从下面的列表中打印
喝 25
喝 26
FlatTextFile.txt
pk_tbl 23 100
食品 0 0
喝 0 0
甜点 0 0
pk_tbl 101
食品 0
喝 25
喝 26
甜点 0
喝 27
喝 28
喝 29
pk_tbl 102
食品 0
喝 0
喝 0
喝 0
甜点 0
我所在的示例的伪代码
pk_flag = 0
for row in d:
if (row[0]= 'drink') and (pk_flag =='1'):
print(row)
if (row[0]= 'pk_tbl')and (row[2] =='101'):
pk_flag = 1;
elif (row[0]= 'pk_tbl')and (row[2] !='101'):
pk_flag = 0;
有点困惑哈哈,感谢任何帮助。 谢谢!
【问题讨论】:
标签: python text-parsing