从1.txt至195.txt批量TXT文件中提取数字的技术求助
批量从TXT文件提取数字的解决方案
方法一:Python脚本实现
核心步骤
- 遍历1至195号TXT文件
- 读取文件内容,通过正则匹配提取所有数字(支持整数、负数、小数)
- 生成单独文件保存单文件提取结果,同时汇总所有结果到统一文件
示例代码
import os import re # 匹配数字的正则表达式,兼容整数、小数、负数 num_regex = re.compile(r'-?\d+\.?\d*') # 创建结果存储目录 if not os.path.exists('extracted_results'): os.makedirs('extracted_results') # 批量处理文件 for file_num in range(1, 196): file_path = f'{file_num}.txt' if not os.path.exists(file_path): print(f"跳过:未找到文件 {file_path}") continue with open(file_path, 'r', encoding='utf-8') as f: content = f.read() numbers = num_regex.findall(content) # 保存单文件结果 with open(f'extracted_results/{file_num}_numbers.txt', 'w', encoding='utf-8') as out_f: out_f.write('\n'.join(numbers)) # 追加到汇总文件 with open('all_numbers_summary.txt', 'a', encoding='utf-8') as summary_f: summary_f.write(f'=== {file_num}.txt 提取结果 ===\n') summary_f.write('\n'.join(numbers) + '\n\n') print(f"已处理:{file_path}")
使用方法
- 将脚本保存为
extract_numbers.py,放在所有TXT文件的同一目录下 - 执行命令:
python extract_numbers.py - 结果说明:
extracted_results目录下,每个文件对应原TXT的提取数字all_numbers_summary.txt文件汇总所有文件的提取结果
方法二:Linux/macOS命令行批量处理
如果熟悉终端操作,可通过grep和循环快速处理:
# 创建结果目录 mkdir -p extracted_results # 循环处理1至195号文件 for i in {1..195}; do # 提取数字并保存到单独文件 grep -E '-?[0-9]+(\.[0-9]+)?' "$i.txt" > "extracted_results/${i}_numbers.txt" # 追加内容到汇总文件 echo "=== ${i}.txt 提取结果 ===" >> all_numbers_summary.txt grep -E '-?[0-9]+(\.[0-9]+)?' "$i.txt" >> all_numbers_summary.txt echo "" >> all_numbers_summary.txt done
注意事项
- 若TXT文件采用非UTF-8编码(如GBK),需在Python脚本中修改
encoding参数为对应编码 - 若数字包含千分位、科学计数法等特殊格式,需调整正则表达式以匹配
内容的提问来源于stack exchange,提问作者vorsamaqoy
相关产品推荐
相关产品推荐

