【发布时间】:2020-12-14 18:24:57
【问题描述】:
我有一个包含以下内容的文本文件:
0:00 txt txt e-mail1_to_extract txt_to_extract1 txt txt /data
0:00 txt txt e-mail2_to_extract txt_to_extract2 txt txt /data
0:00 txt txt txt e-mail3_to_extract txt_to_extract3 txt txt /var
0:00 txt txt txt txt e-mail4_to_extract txt_to_extract4 txt txt /var
0:00 txt txt e-mail5_to_extract txt_to_extract5 txt txt /data
首先,我想提取“0:00”和“/data”或“/var”之间的所有这些行。其次,我想处理这些数据,以便我只能提取其中的两个部分。这个已经提取的范围中包含的文本不是标准化的,所以我不能使用“startwith”/“endwith”之类的东西,但是,整个文本被连接起来(就像一个完整的单词)并且它的位置总是在电子邮件之后重复部分。有没有办法专门映射该部分并提取电子邮件+下一个字符串?
Txt = 我不想提取的额外文本。
我已经尝试从下面的代码开始,但没有得到任何结果:
with open('content.txt') as infile, open('extraction.txt', 'w') as outfile:
copy = False
for line in infile:
if line.strip() == "0:00":
copy = True
continue
elif line.strip() == "/":
copy = False
continue
elif copy:
outfile.write(line)
期望的输出:
e-mail1_to_extract txt_to_extract1
e-mail2_to_extract txt_to_extract2
e-mail3_to_extract txt_to_extract3
e-mail4_to_extract txt_to_extract4
e-mail5_to_extract txt_to_extract5
谢谢!
【问题讨论】:
-
使用正则表达式简单地解析这些部分可能更容易,特别是如果您知道
0:00开始该行,路径结束它。 -
请为您提供的示例提供所需的输出,以便我们提供更好的帮助。谢谢
-
完成了,伊桑! :D