如何在两个标记之间一次读取一个文本文件。 例如;
**<Start>**
code:2010
<Stop>
<Start>
code:2011
code:2013
**<Stop>**
并让它一次打印出一行:
*code:2010
code:2011
code:2013*
我正在使用Python3。我试过看过&#39;&#39;但我想我离开了基地。我也在Windows机器上,并且不相信awk或sed可供我使用。 任何方向都会受到欢迎。谢谢!
答案 0 :(得分:0)
这样的事情可能适用于你的例子,但老实说我还没有测试过它:
start = 0
textlist = []
with open('myfile') as f:
for line in f:
if '<STOP>' in line.upper():
start = 0
elif start:
textlist.append(line)
elif '<START>' in line.upper():
start = 1
print(''.join(textlist))
答案 1 :(得分:0)
如果是text / csv,您可以执行以下操作:
import csv
codes = []
with open('myfile.csv', newline='') as f:
reader=csv.reader(f)
for line in reader:
if "code:" in line:
codes.append([line])
with open('output.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerows(codes)