在工作中需要处理文件,使用Python自带的正则进行筛选,原数据是每一行都单独列出,而使用正则匹配全部的数据后并写入txt文件,会将所有的匹配信息都写在一行中,使得看数据存在非常不便,只能调整窗口来适应数据查看。
(使用Mac电脑查看结果文件,因为调节窗口都要进行行内容的调整,导致看筛选后的结果文件比看原文件还要卡顿)
原数据,每行都带换行回车
筛选后数据,不带换行,看起来很杂乱
import re
with open("log.txt","r") as f:
data = f.read()
pattern = re.compile('2022.*AB').findall(data)
with open("plc.txt","w") as f:
f.write(str(pattern))
这里需要使用正则的时候,每匹配一处信息都带换行信息,文本内容格式同原文件一样,最后写入txt文件时也都是带换行,这样可以方便数据查看。
pattern = re.compile('2022.*AB').findall(data)
for i in pattern
with open("plc.txt","w",'encoding='utf-8'') as f:
f.write(str(i))
你应该用循环按行匹配,在按行写入,