使用SQL语句处理csv数据

news2025/1/17 4:42:05

目录

1. CsvQuery插件安装

2. CsvQuery简单说明

2.1 以表格的形式展示数据

2.2 执行SQL查询语句

2.3 将查询结果保存为新文件

2.4 数据处理


EXCEL打开csv文件日期、文本形式的大数会被自动转换成科学计数,用编辑器打开csv文件可以避免这种情况,但是没有EXCEL的表格形式易于阅读。一些编辑器插件可解决这个问题 ,例如:

NotePad++ 的插件 CsvQuery

1. CsvQuery插件安装

Plugins -> CsvQuery (如果没有,选择Plugins Admin...)

搜索要安装的插件,然后安装

2. CsvQuery简单说明

2.1 以表格的形式展示数据

可以以表格的形式打开csv文件,并指定分隔符

打开一个文件,CsvQuery -> Toggle CSV Query window

一般以逗号分隔,读文件可以指定分隔符、指定第一行是否为标题

2.2 执行SQL查询语句

读文件默认语句 SELECT * FROM THIS,切换文件浏览点击右侧 ReadFile 刷新读取

 

点击列标题可以按列正序、倒序排序

也可以执行其它SQL语句,在查询框中输入语句然后点击右侧 Execute 执行语句

2.3 将查询结果保存为新文件

可以通过创建新的csv替换分隔符;

可以将查询结果保存为新的csv文件

在CSV Query区域右键,选择 Create new CSV...

指定分隔符

然后会在新的标签创建新的文件

 

2.4 数据处理

现在考虑一个系统分为采集、计算、上报几个环境,每个步骤均为多线程。

采集、计算、上报会记录每个周期每个任务的开始和结束时间,通过找到每个周期中最早的任务采集开始时间和最晚的任务结束时间,可以得到每个周期的采集任务总时长;同理,可以得出每个周期计算任务总时长和上报任务总时长;求出每个周期上报任务最晚的结束时间和采集任务最早的开始时间,就可以得到每个周期端到端的总时长。

(1)以采集任务三分钟统计文件为例,时间单位ms

ROP|taskName|taskType|beginTime|endTime|TimeCost
202211291300|A1_01_X|AAA|2022-11-29T13:02:18.080589970|2022-11-29T13:02:18.175409973|95
202211291300|B_Y|BBB|2022-11-29T13:02:19.163168962|2022-11-29T13:02:19.416363723|253
202211291300|S01_X|SSS|2022-11-29T13:02:19.115749209|2022-11-29T13:02:19.423688042|308
202211291300|S01_X|SSS|2022-11-29T13:02:19.105705009|2022-11-29T13:02:19.455668083|350
202211291300|C02_X|CCC|2022-11-29T13:02:19.096654522|2022-11-29T13:02:19.455876528|359
202211291300|D01_X|DDD|2022-11-29T13:02:19.156505467|2022-11-29T13:02:19.481252537|325
202211291300|E_X_01|EEE|2022-11-29T13:02:19.178462737|2022-11-29T13:02:19.574561026|396
202211291300|A1_01_X|AAA|2022-11-29T13:02:19.185465245|2022-11-29T13:02:20.112988507|927
202211291300|F1_5_X01|FFF|2022-11-29T13:02:19.154959630|2022-11-29T13:02:20.176828913|1022
202211291300|A1_01_X|AAA|2022-11-29T13:02:20.153075264|2022-11-29T13:02:20.244616179|91
202211291300|F1_5_X|FFF|2022-11-29T13:02:19.178406279|2022-11-29T13:02:20.253262559|1075
202211291300|A1_02_X|AAA|2022-11-29T13:02:19.134695120|2022-11-29T13:02:20.294381598|1160
202211291300|A1_02_X|AAA|2022-11-29T13:02:21.096833045|2022-11-29T13:02:21.193210667|97
202211291300|A1_02_X|AAA|2022-11-29T13:02:21.197498279|2022-11-29T13:02:21.222431679|25
202211291300|C01_X|CCC|2022-11-29T13:02:22.107281135|2022-11-29T13:02:22.297591093|190
202211291300|D02_X|DDD|2022-11-29T13:02:22.174635657|2022-11-29T13:02:22.399685452|225
202211291301|A1_01_X|AAA|2022-11-29T13:03:18.077610859|2022-11-29T13:03:18.153296340|76
202211291301|S01_X|SSS|2022-11-29T13:03:19.092131589|2022-11-29T13:03:19.201854998|109
202211291301|B_Y|BBB|2022-11-29T13:03:19.397562746|2022-11-29T13:03:19.564471078|167
202211291301|S01_X|SSS|2022-11-29T13:03:19.092241364|2022-11-29T13:03:19.571959100|479
202211291301|E_X_01|EEE|2022-11-29T13:03:19.387991214|2022-11-29T13:03:19.888696985|501
202211291301|D01_X|DDD|2022-11-29T13:03:19.373646090|2022-11-29T13:03:19.934510826|561
202211291301|D02_X|DDD|2022-11-29T13:03:19.332637631|2022-11-29T13:03:19.935258716|603
202211291301|F1_5_X|FFF|2022-11-29T13:03:19.347815301|2022-11-29T13:03:20.606118364|1259
202211291301|F1_5_X01|FFF|2022-11-29T13:03:19.351736174|2022-11-29T13:03:20.628395471|1277
202211291301|A1_02_X|AAA|2022-11-29T13:03:19.356609165|2022-11-29T13:03:20.726106890|1370
202211291301|A1_02_X|AAA|2022-11-29T13:03:21.079486996|2022-11-29T13:03:21.165205265|86
202211291301|A1_02_X|AAA|2022-11-29T13:03:21.170371449|2022-11-29T13:03:21.201199252|31
202211291301|C01_X|CCC|2022-11-29T13:03:22.078229314|2022-11-29T13:03:22.184879813|106
202211291301|C02_X|CCC|2022-11-29T13:03:22.237895028|2022-11-29T13:03:22.337285245|100
202211291301|A1_01_X|AAA|2022-11-29T13:03:22.180763634|2022-11-29T13:03:22.788876818|608
202211291301|A1_01_X|AAA|2022-11-29T13:03:22.793635126|2022-11-29T13:03:22.943617381|150
202211291302|A1_01_X|AAA|2022-11-29T13:04:18.094686569|2022-11-29T13:04:18.155230980|61
202211291302|B_Y|BBB|2022-11-29T13:04:19.107167256|2022-11-29T13:04:19.507106671|400
202211291302|S01_X|SSS|2022-11-29T13:04:19.151995631|2022-11-29T13:04:19.519249983|368
202211291302|S01_X|SSS|2022-11-29T13:04:19.147699283|2022-11-29T13:04:19.523258834|376
202211291302|C02_X|CCC|2022-11-29T13:04:19.088292866|2022-11-29T13:04:19.611661623|523
202211291302|D01_X|DDD|2022-11-29T13:04:19.202207162|2022-11-29T13:04:19.689606897|487
202211291302|F1_5_X|FFF|2022-11-29T13:04:19.185080296|2022-11-29T13:04:20.376610959|1191
202211291302|F1_5_X01|FFF|2022-11-29T13:04:19.088443175|2022-11-29T13:04:20.481511203|1393
202211291302|A1_02_X|AAA|2022-11-29T13:04:19.098590610|2022-11-29T13:04:20.603674023|1505
202211291302|A1_01_X|AAA|2022-11-29T13:04:19.233066201|2022-11-29T13:04:20.760700439|1527
202211291302|A1_01_X|AAA|2022-11-29T13:04:20.771279639|2022-11-29T13:04:20.821185559|50
202211291302|A1_02_X|AAA|2022-11-29T13:04:21.079337796|2022-11-29T13:04:21.193282303|114
202211291302|A1_02_X|AAA|2022-11-29T13:04:21.199200417|2022-11-29T13:04:21.240825008|41
202211291302|C01_X|CCC|2022-11-29T13:04:22.095528016|2022-11-29T13:04:22.341042711|246
202211291302|D02_X|DDD|2022-11-29T13:04:22.189471553|2022-11-29T13:04:22.503535188|314
202211291302|E_X_01|EEE|2022-11-29T13:04:22.201339281|2022-11-29T13:04:22.514851204|313

首先读取文件,点击ReadFile

注:使用SQLite的语法,Plugins -> About

执行 SELECT ROP,MIN(beginTime), MAX(endTime),strftime('%f',MAX(endTime))-strftime('%f',MIN(beginTime)) AS totalCollectTimeCost FROM THIS GROUP BY ROP

按周期(每分钟)即ROP字段分组,MAX(endTime) 找出任务最晚完成时间,MIN(beginTime) 找出任务最早开始时间,二者的差(totalCollectTimeCost )即每分钟执行全部任务花费的总时长

(2)将每周期采集统计结果的MIN(beginTime) 记为collectBeginTime, 每周期上报统计结果的MAX(endTime) 记为 repEndTime,其差值即每周期全部任务的端到端处理时长

执行 SELECT ROP,collectBeginTime,repEndTime,strftime('%f',repEndTime)-strftime('%f',collectBeginTime) AS totalE2ETimeCost FROM THIS GROUP BY ROP 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

两个对象相等(==、equals、hashCode)详解

目录1. 和 equals2. hashCode1. hash 概述2. hashCode1. 概念2. 获取对象地址3. hashCode 与 equals1. 两者关系2. 重写 equals并 重写 hashCode1. 只重写 equals2. 重写 equals 并重写 hashCode3. 小结1. 和 equals 在 Java 中,判断两个对象是否相等&#xff0c…

CMOS反相器的工作原理和电路结构

CMOS 反相器的电路结构 当输入为高电压的时候,下半部分导通,输出端接地 当输入为低电压的时候,上半部分导通,输出端连接VDD 静态输入特性 从反相器输入端看进去输入电压与电流的关系 因为栅极和衬底之间存在着以二…

子网掩码与VLAN有何区别?

子网掩码与VLAN有何区别?_百度知道 (baidu.com) 可以这么理解:子网掩码是对节省IP地址的资源而设立。而VLAN则是对方便网络管理需要而设立。两者之间似乎有相识之处,但各自的功能是不一样的。 vlan下起子网,子网掩码与vlan有何区别-天道酬勤-花开半夏…

[附源码]Python计算机毕业设计Django的高校课程知识库

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

前后端分离项目的https加密解密过程一、从https说起

前后端分离项目的https加密解密过程一、从https说起 最近在看一个开源的项目,叫MetersPhere,在看的过程中,发现并不了解其中加密解密的过程,打算将整个流程梳理一下。 从https一定是安全的么说起 对称加密和非对称加密 一&…

PC_访存过程@内存地址翻译过程@具有快表TLB和cache的多级存储系统

文章目录PC_访存过程内存地址翻译过程具有快表TLB和cache的多级存储系统具有TLB和Cache的多级存储系统三类缺失的可能情况组合小结cache缺失/内存缺页处理机构带TLB虚拟存储器的cpu访存过程PC_访存过程内存地址翻译过程具有快表TLB和cache的多级存储系统 具有TLB和Cache的多级…

POI的使用

POI简介(Apache POI),Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 Apache POI官网 HSSF - 提供读写Microsoft Excel格式档案的功能。(.…

C++ bool类型变量赋值true,输出结果却是false?是因为cin输入的true会被当成字符串,所以bool变量原值不变吗?

首先,大家可能看过其他文章,他们给出的观点是这样的: 在C中bool类型的变量初始值为false,所以如果你不初始化,那么对变量使用cin>>赋值true和false的时候,编译器会把true和false当成是字符串&#x…

【LeetCode每日一题:895.最大频率栈~~~Map+栈】

题目描述 设计一个类似堆栈的数据结构,将元素推入堆栈,并从堆栈中弹出出现频率最高的元素。 实现 FreqStack 类: FreqStack() 构造一个空的堆栈。 void push(int val) 将一个整数 val 压入栈顶。 int pop() 删除并返回堆栈中出现频率最高的元素。 如果…

[附源码]Python计算机毕业设计Django的酒店预订系统设计与实现

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

深度学习快速入门----Pytorch 系列3

注:参考B站‘小土堆’视频教程 视频链接:【PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】 系列文章: 深度学习快速入门----Pytorch 系列1 深度学习快速入门----Pytorch 系列2 深度学习快速入门--…

[附源码]计算机毕业设计JAVA小区供暖收费管理系统

[附源码]计算机毕业设计JAVA小区供暖收费管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM my…

世界杯小组赛频繁爆冷?这或许是强队的谋略 一分钟带你了解2022卡塔尔世界杯赛制

今年的世界杯你赚到钱了吗? 我们这里所说的世界杯是指世界杯决赛圈,也被叫做世界杯正赛。参赛队伍是已经通过世界杯预选赛选拔出的的32支队伍(除了东道主卡塔尔自动晋级)。 世界杯中没有皇马、巴萨、曼联,这些都是俱乐…

基于 SpringBoot + MyBatis 的网页版五子棋对战

目录 一、项目所要实现的功能模块 1、用户模块 2、匹配模块 3、对战模块 二、使用技术 三、项目截图 1、登录页面 2、注册页面 3、游戏大厅页面 4、游戏房间页面 四、创建 SpringBoot 项目 1、在 IDEA 中创建一个 SpringBoot 项目 2、设置项目名称 3、选择项目依…

第2-4-9章 规则引擎Drools实战(2)-信用卡申请

文章目录9.2 信用卡申请9.2.1 计算规则9.2.2 实现步骤9.2 信用卡申请 全套代码及资料全部完整提供,点此处下载 本小节我们需要通过Drools规则引擎来根据规则进行申请人的合法性检查,检查通过后再根据规则确定信用卡额度,最终页面效果如下&a…

浅谈架构备考.补缺.V1

2022.11.28 可靠性分析 to repair to failure between failure 平均故障间隔时间。平均故障间隔时间(Mean Time Between Failure,MTBF)常常与 MTTF 发生混淆。 因为两次故障(失败)之间必然有修复行为,因…

SpringBoot主启动类使用@ComponentScans、@ComponentScan扫描组件类,注意避坑

前言: 1、大家都知道,Springboot主启动加载会默认扫描同级包目录下所有的组件类、配置类,然后进行解析注入到Spring容器中。SpringBootApplication 是个联合注解,里面包含了 ComponentScan 组件扫描注解,所以我们不需要…

沉睡者IT - 什么是NFT?

欢迎关注沉睡者IT,点上面关注我 ↑ ↑ NFT,全称为Non-Fungible Token,指非同质化通证,实质是区块链网络里具有唯一性特点的可信数字权益凭证,是一种可在区块链上记录和处理多维、复杂属性的数据对象。 以上是百度百科…

MongoBd 离线安装与管理

背景: 鉴于内部网络原因,可能一个简单的操作变得复杂化,现在就Mongodb的离线安装分享本人的操作经验: 材料: 操作系统:centos7.6 MongoDB(主程序) : mongodb-linux-x86_64-rhel70-6.0.1.tgz 下载地址:下载…

传输层协议 —— UDP

目录 一、端口号的划分范围 二、认识知名端口号 三、两个问题 四、nestat和pidof命令 五、UDP协议 1. UDP首部格式 2. UDP的特点 3. 面向数据报 4. UDP的缓冲区 5. UDP使用注意事项 6. 基于UDP的应用层协议 一、端口号的划分范围 端口号的长度是16位,因此…