如何用Python从TXT文件提取特定变量与数值内容
用Python提取TXT文件中特定变量的数值
嘿,我来帮你搞定这个需求!你的TXT文件里是空格分隔的变量-数值对,用Python提取特定内容非常方便,下面给你两种实用的实现方法:
方法一:字符串分割+字典转换(简单直观)
这种方法完美适配你的文件格式,直接把内容分割后转成字典,之后就能通过变量名快速取值:
# 第一步:读取文件内容 with open('your_variables.txt', 'r') as file: content = file.read().strip() # 读取并去除首尾空白字符 # 第二步:将内容分割成键值对列表 all_items = content.split() # 第三步:转换为字典,同时把数值转成浮点数(支持科学计数法) variable_dict = {} for idx in range(0, len(all_items), 2): var_name = all_items[idx] # 尝试把值转成浮点数,转失败则保留原字符串 try: var_value = float(all_items[idx + 1]) except ValueError: var_value = all_items[idx + 1] variable_dict[var_name] = var_value # 第四步:提取特定变量 # 比如提取eh和sp_icr的值 print("eh的值:", variable_dict.get('eh')) # 输出 26.9817 print("sp_icr的值:", variable_dict.get('sp_icr')) # 输出 15.3199 # 批量提取多个变量的示例 target_vars = ['ew', 'sp_pk_txrl', 'sp_rxrl'] extracted_results = {var: variable_dict[var] for var in target_vars if var in variable_dict} print("批量提取结果:", extracted_results)
方法二:正则表达式(灵活适配复杂格式)
如果你的文件偶尔出现格式不规整的情况(比如多个空格分隔、变量名带特殊字符),用正则表达式会更可靠:
import re # 读取文件内容 with open('your_variables.txt', 'r') as file: content = file.read() # 用正则匹配变量名(字母、下划线组成)和对应的数值(支持正负、小数、科学计数法) match_pattern = r'(\w+)\s+([-+]?\d+\.?\d*(?:e[-+]?\d+)?)' matched_pairs = re.findall(match_pattern, content) # 转成字典 variable_dict = {key: float(value) for key, value in matched_pairs} # 提取特定内容示例 print("sp_pk_il_f的值:", variable_dict['sp_pk_il_f']) # 输出 7.71614e+09
小提示
- 记得把代码里的
your_variables.txt替换成你实际的文件路径哦。 - 如果变量值可能是整数或者其他类型,可以根据需求调整类型转换的逻辑。
内容的提问来源于stack exchange,提问作者Potato
相关产品推荐
相关产品推荐

