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("所有文件处理完成!")

 

posted @ 2025-04-27 17:07  秋刀鱼CCC  Views(16)  Comments(0)    收藏  举报