Python之txt数据预定替换word预定义定位标记生成word报告(三)
需接Python之txt数据预定替换word预定义定位标记生成word报告(一)和(二),续写第三部分python代码,本部分代码为:数据处理模块 - DataProcessor类
Python之txt数据预定替换word预定义定位标记生成word报告(一)
https://mp.toutiao.com/profile_v4/graphic/preview?pgc_id=7482354347595088424
Python之txt数据预定替换word预定义定位标记生成word报告(二)
https://mp.toutiao.com/profile_v4/graphic/preview?pgc_id=7482355993293160994
数据处理模块 - DataProcessor类,代码如下:
class DataProcessor:
"""TXT数据处理引擎,功能:
1. 从文件名提取IP
2. 解析检查项数据
"""
@staticmethod
def extract_data(file_path):
"""从TXT文件提取结构化数据
:param file_path: 文件完整路径
:return: 字典格式 {标记: 数据内容}
"""
data = {}
current_section = None
with open(file_path, 'r', encoding='utf-8-sig') as f:
content = f.read()
for marker, (start_pat, end_pat) in CHECK_BLOCKS.items():
pattern = re.compile(rf"{start_pat}\n(.*?)\n{end_pat}", re.DOTALL | re.MULTILINE)
if match := pattern.search(content):
cleaned = re.sub(r"^-{4,}$", "", match.group(1).strip(), flags=re.MULTILINE)
data[marker] = cleaned
print(f"提取成功:{marker}({len(cleaned)}字符)")
else:
data[marker] = "[数据缺失]"
print(f"未找到:{marker}")
return data
- **类定义**:`DataProcessor`类用于处理TXT文件数据。
- **`extract_data`静态方法**:读取TXT文件内容,根据`CHECK_BLOCKS`中定义的正则表达式模式提取每个检查项的数据,返回一个字典,键为检查项标记,值为提取的数据内容,如果未找到则返回`[数据缺失]`。