python识别.txt文档中指定字符串
在此感谢一个朋友,记录一下代码
当前识别字符特征: “----1–”,识别后读取下一行内容,并保存到.csv文件中。
import re
import os
import argparse
def readTXT(path):
with open(path,'r',encoding='utf-8') as f:
data = f.read()
signal_data=re.findall(".*----1--\n(.*)",data)
# signal_data=re.findall(".*------\n(.*)",data)
return signal_data
def create_csv(file_path,save_path):
signal_data=readTXT(file_path)
tmp_name=file_path.split('/')
csv_name=tmp_name[len(tmp_name)-1].split('.txt')[0]+'.csv'
save_name=save_path+'\\'+csv_name
with open(save_name,'a+',encoding='utf-8') as f:
for num_data in signal_data:
csv_data=num_data.split(',0')[0]
f.write(csv_data+'\n')
print('create '+save_name+' done')
def parse_opt(known=False):
parser = argparse.ArgumentParser()
parser.add_argument('--path', type=str, default='', help='input data direction')
opt = parser.parse_known_args()[0] if known else parser.parse_args()
return opt
def main(opt):
data_direction=opt.path
data_csv_direction=''#data_direction+'_csv'
if os.path.exists(data_direction):
if os.path.isdir(data_direction):
print('find data direction')
data_csv_direction=data_direction+'_csv'
elif os.path.isfile(data_direction):
print('this is file,not direction')
else:
print('there is no direction')
if not os.path.exists(data_csv_direction):
os.mkdir(data_csv_direction)
for data_file in os.listdir(data_direction):
if 'txt' in data_file:
print('open file '+data_file)
create_csv(data_direction+'/'+data_file,data_csv_direction)
if __name__ == "__main__":
opt = parse_opt()
main(opt)
执行命令: python .\get_data.py --path .\data1-5