Excel VBA实现从文本文件提取pressure字段的最大值
提取文本中Pressure的最高数值解决方案
嘿,这事儿好办!我帮你写个简洁的Python脚本,能搞定从文本文件里提取所有pressure: (数值)里的数字,然后直接找出最大值。
核心思路
- 先把整个文本文件读进来
- 用正则表达式把所有
pressure:后面的数值都抓出来 - 把这些字符串转成浮点数,再取最大值就行
完整代码示例
import re # 替换成你的文本文件路径 file_path = "your_data_file.txt" try: # 读取文件内容 with open(file_path, "r", encoding="utf-8") as file: content = file.read() # 匹配所有pressure后的数值(支持整数和小数) # 正则说明: # pressure:\s* 匹配"pressure:"和后面可能的空格 # (\d+\.?\d*) 捕获数字:整数部分+可选的小数点+可选的小数部分 matches = re.findall(r'pressure:\s*(\d+\.?\d*)', content) if not matches: print("没找到任何pressure相关的数值哦") else: # 把匹配到的字符串转成浮点数,再找最大值 pressure_numbers = [float(num) for num in matches] max_pressure = max(pressure_numbers) print(f"找到的最高pressure数值是:{max_pressure}") except FileNotFoundError: print(f"错误:找不到文件 {file_path}") except Exception as e: print(f"出现意外错误:{str(e)}")
针对你给的示例内容
如果你的文件里是这样的内容:
- pressure: 10.1101 - pressure: 20.1102 - pressure: 20.1020
运行脚本后会输出:找到的最高pressure数值是:20.1102
小提示
- 如果你的数值有负数(比如
pressure: -5.2),可以把正则改成r'pressure:\s*(-?\d+\.?\d*)',就能匹配负数了 - 如果文件特别大,不想一次性读入内存,可以逐行处理,把
content = file.read()改成循环每行处理:
pressure_numbers = [] for line in file: line_matches = re.findall(r'pressure:\s*(\d+\.?\d*)', line) pressure_numbers.extend([float(num) for num in line_matches])
内容的提问来源于stack exchange,提问作者Jam
相关产品推荐
相关产品推荐

