Python数据处理实战(4)-上万行log数据提取并作图进阶版

系列文章:

0、基本常用功能及其操作

1,20G文件,分类,放入不同文件,每个单独处理

2,数据的归类并处理

3,txt文件指定的数据处理并可视化作图

4,上万行log数据提取并作图进阶版(本文)

5、上万行数据提取并分类进阶版

6、.......... (待定)

 一,需求

         作测试时,我们经常需要对大量数据进行提取并可视化,也就是作图

        上万行的数据,我们不方便提取到excel,复制时还会卡,一不小心,所以呢自动化作图就非常方便。 

         类似下面这种的数据,格式可能不尽相同,但是基本上每一行的格式一样,我们需要提取时间并作图,查看随着次数的增加的变化率。

二、思路及其实现

        1、文件操作,文件的读取并每行提取

        2、特定字符的提取,指定的时间,电压,电流,或者次数等等等等

        3、作散点图,标题,坐标轴等等信息 

 上述操作不了解的同学呢,可以去系列文章0_基本操作,去参考查阅学习。

三、代码

 作为进阶版,我把函数封装了一下,可以更方便操作

def log_to_pic(log_path,start_char,end_char,title):
    # 定义计数器以跟踪当前处理的行数
    counter = 0
    # 定义一个临时列表存储当前正在处理的值组
    current_chunk = []
    # #LOG_TO_PIC
    # 适用于每一行都有的情况下,每行格式都一样,数据量非常大的那种
    with open(log_path, 'r') as file:
        for line in file:
            # 查找 "&]=&" 和 "&mS" 之间的字符串
            start_index = line.find(start_char)
            end_index = line.find(end_char, start_index)
            # 如果每行都有的情况下,
            if start_index != -1 and end_index != -1:
                # 提取字符串并去掉空格
                time_data = line[start_index + len(start_char):end_index].strip()
                # 尝试将字符串转换为浮点数
                try:
                    current_chunk.append(time_data)
                except ValueError:
                    # 当转换失败时,忽略这个数据
                    continue

    # 散点图数据为每组的最大值、最小值和平均值
    plt.scatter(range(len(current_chunk)), current_chunk, color='red', marker='o')
    # 设置图表的标题和图例
    plt.title(title)
    plt.xlabel('CYCLE')
    plt.ylabel('TIME(US)')
    # plt.legend()
    # 显示图表
    plt.show()

下面是主函数

        这里用到的数据的提取是字符串的识别,因为在两个中间,同时,可以应对不同的文件,可自行修改。方便快捷

if __name__ == '__main__':
    import re
    import os
    log_path = './log/XXX/XXXX.txt'
    start_char = "SR2 ="
    end_char = "uS"
    title = 'XXXXXXXXX'

    log_to_pic(log_path,start_char,end_char,title)

四、问题及其改进

 有时候数据为字符类型,我们需要转成int类型,否则做的图会有问题

    # 安全地将每个元素转换为int
    int_list = []
    for item in current_chunk:
        try:
            int_list.append(int(float(item)))  # 首先尝试将字符串转换为浮点数,然后转换为整数
        except ValueError:
            print(f"无法转换: {item}")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/440573.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3的开发小技巧

「总之岁月漫长&#xff0c;然而值得等待。」 目录 父组件调用子组件函数如何访问全局api 父组件调用子组件函数 ref, defineExpose //父组件 代码 <child ref"ch">this.$refs.ch.fn();//子组件 函数抛出 const fn () > { }; defineExpose({ fn });如何…

Type-C接口PD协议统一:引领电子科技新纪元的优势解析

在电子科技日新月异的今天&#xff0c;充电接口的统一化已经成为了业界的一大趋势。其中&#xff0c;Type-C接口凭借其传输速度快、使用便捷等优点&#xff0c;迅速成为了市场上的主流选择。而PD&#xff08;Power Delivery&#xff09;协议的统一&#xff0c;更是为Type-C接口…

投标中项目组织结构的设置以及调整(样式表,多级列表)

投标中项目组织结构的设置以及调整&#xff08;样式表&#xff0c;多级列表&#xff09;&#xff1a; 投标项目中需要处理大规模的文字排版&#xff0c;就是需要用到样式表&#xff08;解决层级关系&#xff09;&#xff0c;多级列表&#xff08;解决自动编号的问题&#xff0…

CSP-J 2021 T2 插入排序

文章目录 题目传送门算法解析总代码提交记录尾声 题目传送门 洛谷 P7910 [CSP-J 2021] 插入排序 算法解析 千万不要题目让你插入排序你就插入排序 首先可以用 p a i r pair pair 来存储元素的值&#xff08; f i r s t first first&#xff09;和原来的下标&#xff08; s…

Vue组件中的scoped属性

Vue组件中的scoped属性的作用是&#xff1a;当前的单文件组件的css样式只用于当前组件的template模板&#xff0c;在Vue脚手架汇总组件间关系时避免样式命名重复的情况。 原理&#xff1a;使用data-*属性在template模板中使用样式的HTML元素上添加额外属性&#xff0c;再利用标…

【UE5】游戏框架GamePlay

游戏框架 游戏 由 游戏模式(GameMode) 和 游戏状态(GameState) 所组成 加入游戏的 人类玩家 与 玩家控制器(PlayerController) 相关联 玩家控制器允许玩家在游戏中拥有 HUD&#xff0c;这样他们就能在关卡中拥有物理代表 玩家控制器还向玩家提供 输入控制&#xff08;Input…

【Qt】四种绘图设备详细使用

绘图设备有4个: **绘图设备是指继承QPainterDevice的子类————**QPixmap QImage QPicture QBitmap(黑白图片) QBitmap——父类QPixmapQPixmap图片类&#xff0c;主要用来显示&#xff0c;它针对于显示器显示做了特殊优化&#xff0c;依赖于平台的&#xff0c;只能在主线程…

掘根教你拿捏C++异常(try,catch,throw,栈解退,异常规范,异常的重新抛出)

在介绍异常之前&#xff0c;我觉得很有必要带大家了解一下运行时错误和c异常出现之前的处理运行时错误的方式。这样子能更深入的了解异常的作用和工作原理 运行阶段错误 我们知道&#xff0c;程序有时候会遇到运行阶段错误&#xff0c;导致程序无法正常运行下去 C在运行时可…

【Springer出版 · EI检索】| 第二届先进无人飞行系统国际会议(ICAUAS 2024)

会议简介 Brief Introduction 2024年第二届先进无人飞行系统国际会议(ICAUAS 2024) 会议时间&#xff1a;2024年6月14日-16日 召开地点&#xff1a;中国南昌 大会官网&#xff1a;ICAUAS 2024-2024 2nd International Conference on Advanced Unmanned Aerial Systems2024 2nd …

即插即用篇 | YOLOv8 引入 ParNetAttention 注意力机制 | 《NON-DEEP NETWORKS》

论文名称:《NON-DEEP NETWORKS》 论文地址:https://arxiv.org/pdf/2110.07641.pdf 代码地址:https://github.com/imankgoyal/NonDeepNetworks 文章目录 1 原理2 源代码3 添加方式4 模型 yaml 文件template-backbone.yamltemplate-small.yamltemplate-large.yaml

视频监控平台EasyCVR+4G/5G应急布控球远程视频监控方案

随着科技的不断发展&#xff0c;应急布控球远程视频监控方案在公共安全、交通管理、城市管理等领域的应用越来越广泛。这种方案通过在现场部署应急布控球&#xff0c;实现对特定区域的实时监控&#xff0c;有助于及时发现问题、快速响应&#xff0c;提高管理效率。 智慧安防视…

vite+vue3门户网站菜单栏动态路由控制

门户网站用户端需要分板块展示&#xff0c;板块内容由管理端配置&#xff0c;包括板块名称&#xff0c;访问路径&#xff0c;路由组件&#xff0c;展示顺序&#xff0c;是否展示。如下图所示&#xff1a; 用户访问门户网站时&#xff0c;展示菜单跳转通过板块配置&#xff0c;动…

Python笔记(四)—— Python函数

4.1 函数的初体验 函数 函数&#xff1a;是组织好的&#xff0c;可重复使用的&#xff0c;用来实现特定功能的代码段 name "itheima" length len(name) print(length) 运行结果&#xff1a; 思考&#xff1a;为什么随时都可以使用len()统计长度 因为&#xff…

c++ 开发环境 LNK1104: 无法打开文件“avcodec.lib”

别人分享&#xff0c; 和自己最近遇到问题一摸一样。以为没什么用的静态资源&#xff0c;结果 无法编译。 昨天安装配置了&#xff0c;结果今天早上打开电脑&#xff0c;所以dll的工程全部报错&#xff1a; 1>------ 已启动全部重新生成: 项目: Dll_test, 配置: Debug x64…

使用插件vue-seamless-scroll 完成内容持续动态

1、安装插件 npm install vue-seamless-scroll --save 2、项目中引入 //单独引入import vueSeamlessScroll from vue-seamless-scrollexport default {components: { vueSeamlessScroll},}//或者在main.js引入import scroll from vue-seamless-scrollVue.use(scroll)3、页面使…

导游百度百科创建词条的条件?如何才更有效的通过审核

导游在如今的社会中扮演着重要的角色&#xff0c;他们不仅仅是旅行中的引路人&#xff0c;更是旅客们了解目的地地域文化和历史的窗口。因此&#xff0c;作为导游&#xff0c;有必要在百度百科上建立自己的词条&#xff0c;以展现自身的专业知识和经验。那导游百度百科词条创建…

[C++]类和对象,explicit,static,友元,构造函数——喵喵要吃C嘎嘎4

希望你开心&#xff0c;希望你健康&#xff0c;希望你幸福&#xff0c;希望你点赞&#xff01; 最后的最后&#xff0c;关注喵&#xff0c;关注喵&#xff0c;关注喵&#xff0c;大大会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的…

uniapp实现---类似购物车全选

目录 一、实现思路 二、实现步骤 ①view部分展示 ②JavaScript 内容 ③css中样式展示 三、效果展示 四、小结 注意事项 一、实现思路 点击商家复选框&#xff0c;可选中当前商家下的所有商品。点击全选&#xff0c;选中全部商家的商品 添加单个多选框&#xff0c;在将多选…

【C++】十大排序算法之 归并排序 快速排序

本次介绍内容参考自&#xff1a;十大经典排序算法&#xff08;C实现&#xff09; - fengMisaka - 博客园 (cnblogs.com) 排序算法是《数据结构与算法》中最基本的算法之一。 十种常见排序算法可以分为两大类&#xff1a; 比较类排序&#xff1a;通过比较来决定元素间的相对次序…

蓝桥杯2023年-买瓜(dfs,类型转换同样耗时)

题目描述 小蓝正在一个瓜摊上买瓜。瓜摊上共有 n 个瓜&#xff0c;每个瓜的重量为 Ai 。 小蓝刀功了得&#xff0c;他可以把任何瓜劈成完全等重的两份&#xff0c;不过每个瓜只能劈一刀。 小蓝希望买到的瓜的重量的和恰好为 m 。 请问小蓝至少要劈多少个瓜才能买到重量恰好…