码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 文本分析,组间插入汇总值


    【问题】

    Ok, so I'm trying to read a log file and parse useful data out of it.
    it looks kind of like
    webcat_service,1.0,50
    webcat_service,1.5,30
    webcat_service,2.5,10
    webcat_service,4.0,5
    webroot_service,10.0,50
    webroot_service,15.0,20
    webroot_service,20.0,10
    webroot_service,30.0,5
    at this point.
    Now, what I want is to split that off into 
    webcat_service_1.0,50
    webcat_service_1.5,30
    webcat_service_2.5,10
    webcat_service_4.0,5
    webcat_service_avg, $FOO
    webroot_service,10.0,50
    webroot_service,15.0,20
    webroot_service,20.0,10
    webroot_service,30.0,5
    webroot_service_avg, $BAR
    I can do the easy part (putting the values together, running the function that spits back an average, and puts it in the right place), but I can't figure out how to write a loop that takes input until a variable is different, then put that into the check ("look at webcat until you see something else, then run this function again with webroot")

    【回答】

    在已经分组的数据间插入汇总值,通常的做法是依次读入本组数据,直到数据发生变化,然后将本组数据和汇总值追加到新文件中,再读入下一组数据。可以用硬编码实现上述算法,但过程有些麻烦,这种情况下可以考虑用SPL,具体代码如下:

    AB
    1=file("E: \\webdata.log").cursor@c()=file("e:\\result.txt")
    2for A1;_1=B1.export@ac(A2)
    3=A2._1+"_avg,"+string(A2.avg(_2))+"\r\n"
    4=B1.write@a(B3)

    A1:读取逗号分隔的webdata.log中的内容,结果返回游标。

    A2-B4:循环读取A1第一列内容,并进行计算。

        A2:每次从A1读取部分记录至第一列数据有变化(即先读取第一列为webcat_service的数据,再读取第一列为webroot_service的数据)。

        B2:先将A2追加导入到result.txt

        B3:增加一行数据,并计算A2第2列的平均值。

        B4:将增加的行追加写入result.txt。

     

  • 相关阅读:
    stack,queue,priority_queue的模拟实现,适配器deque
    FusionCharts Suite XT
    Java理清JDK、JRE、JVM之间什么关系?如何做到一次编译到处执行的?
    校园图书馆自习室管理系统 毕业设计源码25035
    C和C++的区别
    【云原生】zookeeper + kafka on k8s 环境部署
    C++Qt中qmake的详解
    mysql按照日期分组统计数据(date_format&str_to_date)
    Blender生成COLMAP数据集
    【EdgeBox-8120AI-TX2】Ubuntu18.04 + ROS_ Melodic + 星秒PAVO2单线激光 雷达评测
  • 原文地址:https://blog.csdn.net/raqsoft/article/details/127102035
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号