1
我想用Python從temp.txt文件中提取頭文件定義的文本塊。如何使用Python提取兩個字符串之間的文本?
TEMP.TXT是如下,其中頭1(年)和標題2(月)被分隔符分隔「標籤=/T」:
header1="2016"/theader2="Jan"
Lion Animal
Apple Food
.end
header1="2016"/theader2="Feb"
Tiger Animal
Orange Food
.end
我寫了一個腳本如下效果很好(CMD :python script.py [year] with argvs),但是這允許我僅提取指定的(月份,年份)數據,並且限制通配符月份(或年份)來提取所有文本。 (例如,如果我嘗試使用python script.py [year] *通配符月份,它將不起作用。)有更好的方法嗎?
import pandas as pd
import re
import sys
year = sys.argv[1]
month =sys.argv[2]
with open('./temp.txt') as infile, open('./output', 'w') as outfile:
copy = False
for line in infile:
if line.strip() == 'header1="%s"\theader2="%s"' % (year,month):
copy = True
elif line.strip() == '.end':
copy = False
elif copy:
outfile.write(line)
pd.read_csv('./output', encoding='utf8', sep='\;', dtype='unicode').to_excel('./output.xlsx', sheet_name='sheet2', index=False)
謝謝,這真的有助於解決問題! – cinemania