python 雨滴数据清洗————异常截断,当大于某个值时将这个值替换为这个某个值
用的是雨水含量的数据,将数据中值大于25的替换为25
#!usr/bin/env python # -*- coding:utf-8 -*- """ @author: Suyue @file: lianxi.py @time: 2025/03/13 @desc:将txt文件大于25的值设置为25 """ import os def process_file(file_path): with open(file_path, 'r+') as f: lines = f.readlines() f.seek(0) # 回到文件开头准备重写 f.truncate() # 清空文件内容 for i in range(0, len(lines), 3): if i + 1 >= len(lines): # 防止最后一行不完整 f.write(lines[i]) break # 写入时间戳 f.write(lines[i]) # 处理雨水含量值 try: value = float(lines[i + 1].strip()) if value > 25.00: value = 25.00 f.write(f"{value}\n") except ValueError: f.write(lines[i + 1]) # 如果不是数字,保持原样 # 写入空行(如果有) if i + 2 < len(lines): f.write(lines[i + 2]) def process_directory(directory): for filename in os.listdir(directory): if filename.endswith('.txt'): file_path = os.path.join(directory, filename) process_file(file_path) print(f"已处理文件: {filename}") # 使用示例 txt_directory = "F:/lianxi" # 替换为你的txt文件所在目录 process_directory(txt_directory) print("所有文件处理完成!")

浙公网安备 33010602011771号