首页 > 编程语言 >python批量

python批量

时间:2025-01-15 18:56:10浏览次数:1  
标签:input 批量 python processed file path output txt

python 第一步def一个txt,按时间戳拆分内容以查找单独的部分,时间戳的格式为 YYYY-MM-DD HH:MM:SS,因此我们将使用正则表达式根据此模式进行拆分,拆分后处理32×32列的数组,删除前2列和后9列。第二步dif处理指定目录中的所有 .txt 文件,并按第一步的方法处理所有txtx文件。将所得的多个txt结果另存到输出文件夹中

为了完成你描述的任务,我们需要首先定义一个函数来处理单个TXT文件,该函数将使用正则表达式按时间戳拆分内容,并假设时间戳之后的内容可以表示为一个32x32的数组(尽管在纯文本文件中,数组通常不是以这种形式直接存储的,但我会根据你的描述进行假设)。然后,我们将定义第二个函数来处理指定目录中的所有TXT文件。

由于纯文本文件中通常不包含直接的数组结构,我将假设时间戳之后的内容是以空格或逗号分隔的数字,这些数字可以重新格式化为32x32的数组。然而,由于你要求删除数组的前两列和后九列,我将只处理文本行,并相应地删除字符。

请注意,以下代码是一个简化的示例,它可能需要根据你实际的数据格式进行调整。

#!usr/bin/env python
# -*- coding:utf-8 _*-
"""

@author:JK
@file:jakjdklj.py
@time:2024/04/$
{DAY}
@desc:
"""
import os
import re


def process_single_txt(file_path):
    """
    处理单个TXT文件,按时间戳拆分内容,并处理假设的32x32数组(以文本形式),
    删除每行(代表数组的一行)的前2个字段(假设由空格分隔)和后9个字段。
    返回处理后的内容列表。
    """
    pattern = re.compile(r'(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})')  # 时间戳正则表达式
    processed_content = []

    with open(file_path, 'r', encoding='utf-8') as file:
        lines = file.readlines()

        current_block = []  # 用于存储当前时间戳下的内容块
        for line in lines:
            match = pattern.match(line)
            if match:
                # 如果找到时间戳,则处理前一个块(如果有的话)
                if current_block:
                    # 假设每行代表数组的一行,用空格分隔字段
                    # 删除前两列(即前两个字段)和后九列(即后九个字段)
                    processed_rows = [
                        ' '.join(row.split()[2:-9])  # 如果字段数足够
                        for row in current_block if len(row.split()) > 11  # 至少11个字段
                    ]
                    processed_content.extend(processed_rows)
                    current_block = []  # 重置当前块
                # 将时间戳行添加到输出(可选,根据你的需求)
                # processed_content.append(line.strip())
            else:
                # 否则,将行添加到当前块
                current_block.append(line.strip())

        # 处理最后一个块(文件末尾可能没有时间戳)
        if current_block:
            processed_rows = [
                ' '.join(row.split()[2:-9])  # 如果字段数足够
                for row in current_block if len(row.split()) > 11  # 至少11个字段
            ]
            processed_content.extend(processed_rows)

    return processed_content


def process_txt_files_in_directory(input_dir, output_dir):
    """
    处理指定目录中的所有.txt文件,按第一步的方法处理所有文件,
    并将结果保存到输出文件夹中的新TXT文件中。
    """
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)

    for filename in os.listdir(input_dir):
        if filename.endswith(".txt"):
            input_file_path = os.path.join(input_dir, filename)
            processed_content = process_single_txt(input_file_path)

            # 构造输出文件的名称和路径
            output_filename = os.path.splitext(filename)[0] + '_processed.txt'
            output_file_path = os.path.join(output_dir, output_filename)

            # 将处理后的内容写入新的TXT文件
            with open(output_file_path, 'w', encoding='utf-8') as output_file:
                output_file.writelines('\n'.join(processed_content) + '\n')


# 示例使用
input_directory = "D:/rain"
output_directory = "D:/rain/result"
process_txt_files_in_directory(input_directory, output_directory)

 

标签:input,批量,python,processed,file,path,output,txt
From: https://www.cnblogs.com/shirleysu90/p/18673605

相关文章

  • Python Playwright学习笔记(一)
    一、简介1.1Playwright是什么?它是微软在2020年初开源的新一代自动化测试工具,其功能和selenium类似,都可以驱动浏览器进行各种自动化操作。1.2、特点是什么支持当前所有的主流浏览器,包括chrome、edge、firefox、safari;支持跨平台多语言:支持Windows、Linux、macOS;安装和......
  • python 按时间戳删除32×32数组的前2列和后9列
    还是雨滴谱文件,这次尝试批量处理首先处理1个单独的txt文件#!usr/bin/envpython#-*-coding:utf-8_*-"""@author:Suyue@file:raindrop.py@time:2025/01/15{DAY}@desc:"""importnumpyasnpimportredefprocess_file(input_file,output_file):......
  • 第七届传智杯初赛第二场(abc三组)补题+题解python
    文章目录前言A计算商品打折结算金额(B组、C组)B茶杯和球(A组、C组)C游游的字母串(A组、B组、C组)D电梯(B组、C组)E小欧的排列计算(A组、B组、C组)F游游的字母子串(A组、B组、C组)G跳跳跳(A组、B组)H小红的战争棋盘(A组)前言在CSDN上并未找到第七届传智杯......
  • 2025-1-15-十大经典排序算法 C++与python
    文章目录十大经典排序算法比较排序1.冒泡排序2.选择排序3.插入排序4.希尔排序5.归并排序6.快速排序7.堆排序非比较排序8.计数排序9.桶排序10.基数排序十大经典排序算法十大经典排序算法可以分为比较排序和非比较排序:前者包括冒泡排序、选择排序、插......
  • python毕业设计基于python的学生管理系统的设计
    一、项目技术开发语言:Pythonpython框架:Django软件版本:python3.7/python3.8数据库:mysql5.7或更高版本数据库工具:Navicat11开发软件:PyCharm/vscode前端框架:vue.js二、项目内容和项目介绍  ......
  • Python文档生成利器 - Sphinx入门指南
    目录一、安装Sphinx二、创建Sphinx项目初始化项目项目结构三、配置Sphinx基础配置扩展配置自动文档生成四、构建文档五、实战案例配置conf.py设置index.rst创建modules.rst编写Python代码构建文档六、进一步定制和优化1.使用自定义主题2.添加自定义CSS和Ja......
  • 【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-
    【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本背景之前优雅草央千澈在AE特效制作处博文已经完整介绍了本款游戏的素材开发,本文开始把素材利用起来放进去......
  • ROS中的launch文件—批量启动ROS节点
    launch文件是一种遵循XML语法的文件,在ROS中我们用它来批量启动ROS节点。以前面文章的话题通信为例,我们需要开启三个终端,分别运行:roscorerosruntestmessage_test_noderosruntest_subscribersubscriber_node如果一个项目有几十个节点,这样做肯定不行。我们可以在随便一......
  • python毕设 校园外卖订餐系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景随着互联网技术的发展,外卖订餐系统在社会各个层面广泛应用。在校园中,学生群体对外卖订餐有着较大需求。关于校园外卖订餐系统的研究,现......
  • 2025毕设python医药垃圾分类管理系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于医药垃圾分类管理的研究,现有研究多侧重于垃圾分类的一般性理论或者大型垃圾处理厂的管理模式。专门针对医药垃圾分类管理,尤其是从......