CN111104390A - 一种多csv文件的合并和校验的方法及系统 - Google Patents
一种多csv文件的合并和校验的方法及系统 Download PDFInfo
- Publication number
- CN111104390A CN111104390A CN201911087514.4A CN201911087514A CN111104390A CN 111104390 A CN111104390 A CN 111104390A CN 201911087514 A CN201911087514 A CN 201911087514A CN 111104390 A CN111104390 A CN 111104390A
- Authority
- CN
- China
- Prior art keywords
- csv
- configuration
- files
- csv files
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉一种多CSV文件的合并和校验的方法及系统,用于实现:对待校验的CSV文件的表单数进行识别,根据识别结果及检查请求创建对应的检查配置,并生成配置文件;将多个CSV文件根据检查配置进行转换合并处理,生成单个CSV文件;用于对得到的单个CSV根据检查配置调用检查接口进行检查,生成检查报告。本发明的有益效果为:做到单表、多表两种情况的规则校验,实现简单化、可配置、报告化,提高了多表关联查找、导出及校验的效率。
Description
技术领域
本发明涉及一种多CSV文件的合并和校验的方法及系统,属于计算机游戏领域。
背景技术
业务上有类需求,需要校验csv形式的文件,如校验文件指定列必须为整数,指定列必须不能为空,指定列必须在指定范围等等规则。
针对这些规则的校验,业界通常使用goodtables-py来实现这一功能。goodtables-py是一个用于验证表格数据的开源框架。它可以检查你的数据的结构,比如所有行的列数相同,所有日期均有效,没有空行,没有空头,等等。
但goodtables-py的最大弊端在于不能支持多表,即多个csv文件的规则检查。而实际业务情况下,两张表甚至更多表的联合检查,是经常遇到的。
发明内容
本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了一种多CSV文件的合并和校验的方法及系统。
本发明的技术方案包括一种多CSV文件的合并和校验的方法,其特征在于,该方法包括以下步骤:S10,对待校验的CSV文件的表单数进行识别,根据识别结果及检查请求创建对应的检查配置,并生成配置文件;S20,将多个CSV文件根据所述检查配置进行转换合并处理,生成单个CSV文件;S30,用于对所述S20得到的单个CSV根据检查配置调用检查接口进行检查,生成检查报告。
根据所述的多CSV文件的合并和校验的方法,其中步骤S10具体包括:对接入进行检查的CSV文件数进行识别,若为单个CSV文件则直接调用检查接口进行文件检查;若为多个CSV文件,则根据多个CSV的检查请求创建对应的检查配置。
根据所述的多CSV文件的合并和校验的方法,其中该方法还包括对执行检查后多个CSV文件的关联合并后的单表,以及,对单个CSV文件的单表进行逻辑检查。
根据所述的多CSV文件的合并和校验的方法,其中检查接口为GoodTables。
根据所述的多CSV文件的合并和校验的方法,其中配置文件具体包括对多个需要检查的文件的指定路径、编码、标题行、分隔符、多表关联条件字段及输出字段进行自定义配置。
根据所述的多CSV文件的合并和校验的方法,其中步骤S20对多个CSV文件的转换合并处理具体包括:S21,读取配置文件,根据配置文件获取并加载待校验的多个CSV文件;S22,对多个CSV文件分别执行转换为UTF-8格式、转换分隔符及增加行号的处理;S23,将进行转换的CSV文件进行关联合并,生成单个CSV文件,并记录合并前多个CSV文件的表的列号;S24,删除无用表行。
根据所述的多CSV文件的合并和校验的方法,其中步骤S23具体包括:根据请求对多个CSV文件对应的多表SQL语句进行拼接处理,进一步生成拼接后的单表,并对单表规则校验。
根据所述的多CSV文件的合并和校验的方法,其中步骤S30具体包括:将校验后一条或多条校验失败的表单记录进行显示,进一步,显示对应的行号和列号。
本发明的技术方案还包括一种多CSV文件的合并和校验的系统,用于执行上述任一个所述方法,其特征在于:配置模块,用于对待校验的CSV文件的表单数进行识别,根据识别结果及检查请求创建对应的检查配置,并生成配置文件;转换模块,用于将多个CSV文件根据所述检查配置进行转换合并处理,生成单个CSV文件;报告模块,用于对所述转换模块生成的单个CSV文件根据检查配置调用检查接口进行检查,生成检查报告。
本发明的有益效果为:多csv文件关联查找、导出、校验等类似需求,在很多情况下都是需要的,本工具使用简便,功能齐全,报表清晰,为后续查找分析问题,提供有力支持,弥补多csv无法使用利用goodtables进行校验的空白;
做到单表、多表两种情况的规则校验,实现简单化、可配置、报告化,提高了多表关联查找、导出及校验的效率。
附图说明
下面结合附图和实施例对本发明进一步地说明;
图1所示为根据本发明实施方式的总体流程图;
图2所示为根据本发明实施方式系统框图;
图3所示为根据本发明实施方式的CSV文件识别及表校验图;
图4所示为根据本发明实施方式的多表合并流程图;
图5所示为根据本发明实施方式的多表中单个CSV文件处理流程图。
具体实施方式
本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
图1所示为根据本发明实施方式的总体流程图。该流程包括:S10,对待校验的CSV文件的表单数进行识别,根据识别结果及检查请求创建对应的检查配置,并生成配置文件;S20,将多个CSV文件根据所述检查配置进行转换合并处理,生成单个CSV文件;S30,用于对所述S20得到的单个CSV根据检查配置调用检查接口进行检查,生成检查报告。
图2所示为根据本发明实施方式系统框图。该系统包括:配置模块,用于对待校验的CSV文件的表单数进行识别,根据识别结果及检查请求创建对应的检查配置,并生成配置文件;转换模块,用于将多个CSV文件根据所述检查配置进行转换合并处理,生成单个CSV文件;报告模块,用于对所述转换模块生成的单个CSV文件根据检查配置调用检查接口进行检查,生成检查报告。
图3所示为根据本发明实施方式的CSV文件识别及表校验图。这里采用web服务的形式,将配置传入,输出校验报告,对接入进行检查的CSV文件数进行识别,若为单个CSV文件则直接调用检查接口进行文件检查;若为多个CSV文件,则根据多个CSV的检查请求创建对应的检查配置,基于对单个或多个CSV文件,在生成单个CSV文件后,执行对单表的检查,其检查包括对执行检查后多个CSV文件的关联合并后的单表的多规则校验,以及,对单个CSV文件的单表进行联合多规则校验,其中多规则校验和联合多规则校验可自定义设置。
图4所示为根据本发明实施方式的多表合并流程图。如图所示模块,从左向右,依次为数据的流动模块,也就是整个校验的过程。其中最重要的逻辑为多CSV合并为新CSV的过程,逻辑如图4所示。
图5所示为根据本发明实施方式的多表中单个CSV文件处理流程图。上图为遍历多个CSV,处理每个CSV的步骤,其将繁琐的各类转换封装起来,避免了大量的人为操作文件的代价。
本发明提供了较为具体的实施方式:基于以下接口实现方案:goodtables-py单表结构规则校验,qtextasdata:多csv文件关联合并,Prettytable:美观的控制台输出结果报表。
以上为json形式的校验规则配置,具体对应上边举例中的校验需求,配置文主要files、relate、resources三块配置,分别对应csv文件配置、关联配置、校验规则配置,
执行工具,传入配置文件,等待报告产生。报告如下,清晰展示校验失败的行号和列号,一目了然的获取校验结果。
代码逻辑如下(1)~(8)所示:
(1)配置文件(配置多个需要检查的文件,指定路径、编码、标题行、分隔符及多表关联条件字段和输出字段);
(2)获取配置,校验配置、遍历文件;
(3)统一转码为utf-8;
(4)统一转换分割符;
(5)统一增加行号;
(6)统一转换为csv;
(7)记录原始表对应的列号;
(8)删除无用的表行;
(9)拼接SQL;
(10)运行关联,形成新表;
(11)goodtable执行新表规则检查;
(12)输出报告。
多csv文件关联查找、导出、校验等类似需求,在很多情况下都是需要的,本工具使用简便,功能齐全,报表清晰,为后续查找分析问题,提供有力支持,弥补多csv无法使用利用goodtables进行校验的空白。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所述技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (9)
1.一种多CSV文件的合并和校验的方法,其特征在于,该方法包括以下步骤:
S10,对待校验的CSV文件的表单数进行识别,根据识别结果及检查请求创建对应的检查配置,并生成配置文件;
S20,将多个CSV文件根据所述检查配置进行转换合并处理,生成单个CSV文件;
S30,用于对所述S20得到的单个CSV根据检查配置调用检查接口进行检查,生成检查报告。
2.根据权利要求1所述的多CSV文件的合并和校验的方法,其特征在于,所述步骤S10具体包括:
对接入进行检查的CSV文件数进行识别,若为单个CSV文件则直接调用检查接口进行文件检查;若为多个CSV文件,则根据多个CSV的检查请求创建对应的检查配置。
3.根据权利要求2所述的多CSV文件的合并和校验的方法,其特征在于,该方法还包括对执行检查后多个CSV文件的关联合并后的单表的多规则校验,以及,对单个CSV文件的单表进行联合多规则校验,其中多规则校验和联合多规则校验可自定义设置。
4.根据权利要求2所述的多CSV文件的合并和校验的方法,其特征在于,所述检查接口为GoodTables。
5.根据权利要求1所述的多CSV文件的合并和校验的方法,其特征在于,所述配置文件具体包括对多个需要检查的文件的指定路径、编码、标题行、分隔符、多表关联条件字段及输出字段进行自定义配置。
6.根据权利要求1所述的多CSV文件的合并和校验的方法,其特征在于,所述步骤S20对多个CSV文件的转换合并处理具体包括:
S21,读取配置文件,根据配置文件获取并加载待校验的多个CSV文件;
S22,对多个CSV文件分别执行转换为UTF-8格式、转换分隔符及增加行号的处理;
S23,将进行转换的CSV文件进行关联合并,生成单个CSV文件,并记录合并前多个CSV文件的表的列号;
S24,删除无用表行。
7.根据权利要求6所述的多CSV文件的合并和校验的方法,其特征在于,所述步骤S23具体包括:
根据请求对多个CSV文件对应的多表SQL语句进行拼接处理,进一步生成拼接后的单表,并对单表规则校验。
8.根据权利要求1所述的多CSV文件的合并和校验的方法,其特征在于,所述步骤S30具体包括:
将校验后一条或多条校验失败的表单记录进行显示,进一步,显示对应的行号和列号。
9.一种多CSV文件的合并和校验的系统,用于执行权力要求1-8任一个所述方法,其特征在于:
配置模块,用于对待校验的CSV文件的表单数进行识别,根据识别结果及检查请求创建对应的检查配置,并生成配置文件;
转换模块,用于将多个CSV文件根据所述检查配置进行转换合并处理,生成单个CSV文件;
报告模块,用于对所述转换模块生成的单个CSV文件根据检查配置调用检查接口进行检查,生成检查报告。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911087514.4A CN111104390A (zh) | 2019-11-08 | 2019-11-08 | 一种多csv文件的合并和校验的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911087514.4A CN111104390A (zh) | 2019-11-08 | 2019-11-08 | 一种多csv文件的合并和校验的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111104390A true CN111104390A (zh) | 2020-05-05 |
Family
ID=70420381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911087514.4A Pending CN111104390A (zh) | 2019-11-08 | 2019-11-08 | 一种多csv文件的合并和校验的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104390A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113204706A (zh) * | 2021-05-24 | 2021-08-03 | 北京明略软件系统有限公司 | 基于MapReduce的数据筛选抽取方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105094843A (zh) * | 2015-08-20 | 2015-11-25 | 网易(杭州)网络有限公司 | 一种数据表的检查方法及装置 |
CN109992585A (zh) * | 2019-04-01 | 2019-07-09 | 北京金和网络股份有限公司 | 用于办公管理系统的数据导入方法 |
CN110020381A (zh) * | 2018-02-23 | 2019-07-16 | 中国平安财产保险股份有限公司 | 基于配置文件的校验方法、装置、设备和计算机存储介质 |
-
2019
- 2019-11-08 CN CN201911087514.4A patent/CN111104390A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105094843A (zh) * | 2015-08-20 | 2015-11-25 | 网易(杭州)网络有限公司 | 一种数据表的检查方法及装置 |
CN110020381A (zh) * | 2018-02-23 | 2019-07-16 | 中国平安财产保险股份有限公司 | 基于配置文件的校验方法、装置、设备和计算机存储介质 |
CN109992585A (zh) * | 2019-04-01 | 2019-07-09 | 北京金和网络股份有限公司 | 用于办公管理系统的数据导入方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113204706A (zh) * | 2021-05-24 | 2021-08-03 | 北京明略软件系统有限公司 | 基于MapReduce的数据筛选抽取方法及系统 |
CN113204706B (zh) * | 2021-05-24 | 2024-01-12 | 北京明略软件系统有限公司 | 基于MapReduce的数据筛选抽取方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10872034B2 (en) | Method, device and computer program product for executing test cases | |
CN111083225B (zh) | 在物联网平台中的数据处理方法、装置及物联网平台 | |
CN107729243B (zh) | 应用编程接口自动化测试方法、系统、设备及存储介质 | |
US10135936B1 (en) | Systems and methods for web analytics testing and web development | |
CN110781231B (zh) | 基于数据库的批量导入方法、装置、设备及存储介质 | |
US8819488B1 (en) | Architecture for end-to-end testing of long-running, multi-stage asynchronous data processing services | |
US20160147622A1 (en) | Enhanced error detection in data synchronization operations | |
CN111061696B (zh) | 一种交易报文日志的解析方法及装置 | |
CN106550038B (zh) | 一种数字化控制系统的数据组态诊断系统和方法 | |
CN106682036A (zh) | 一种数据交换系统及其交换方法 | |
CN105022691A (zh) | 一种基于uml图的高度自动化软件测试方法 | |
CN105786695A (zh) | 数据测试方法及系统 | |
CN104391793A (zh) | 测试步骤及测试脚本生成方法及装置 | |
CN111324526A (zh) | 接口测试系统、方法和服务器 | |
CN112783867A (zh) | 为满足实时大数据业务需求的数据库优化方法及云服务器 | |
CN105739481A (zh) | 工控软件的测试方法、装置及系统 | |
CN111104390A (zh) | 一种多csv文件的合并和校验的方法及系统 | |
CN111176660A (zh) | 一种面向分布式架构的微服务契约管理方法、装置、计算机设备、和可读存储介质 | |
CN114443466A (zh) | 用例文件转换可执行脚本的方法、终端设备及存储介质 | |
CN107040613A (zh) | 一种报文传输方法及系统 | |
US10585779B2 (en) | Systems and methods of requirements chaining and applications thereof | |
CN110825538A (zh) | 一种基于mq可自定义数据类型动态进行数据交互的方法 | |
CN113050925B (zh) | 区块链智能合约修复方法及装置 | |
CN109101426B (zh) | 一种业务比对测试系统 | |
CN115470106A (zh) | 一种可重构芯片的验证方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |