发明内容
本发明主要解决的技术问题是数据导入过程中数据会出现各种错误,导致导入数据的准确度不够高。
根据第一方面,一种实施例中提供一种基于校验与校正的数据导入方法,其特征在于,包括:
获取预设待导入文件对应的待导入数据;所述待导入文件包括excel文件,所述待导入数据包括excel表头对应的json格式数据对象;
提取所述待导入数据中所有数据行的列名称,根据预设配置规则和所述列名称将所述待导入数据划分为不同场景下的待校验数据;其中,所述不同场景下的待校验数据包括待校验类型数据、待校验长度数据、待校验数值数据、待校验配置数据和待校验枚举数据中的任意一种或者多种;
根据预设校正规则对所述不同场景下的待校验数据进行数据校正,当数据校正完成时,得到校正后的数据,当数据校正未完成时,将所述待校验数据标记成异常数据;
将校正后的数据和/或异常数据、预设校正标签和校正后的数据对应的待校验数据更新至所述待导入文件中,得到实时导入文件。
一实施例中,所述根据预设校正规则对所述不同场景下的待校验数据进行数据校正,包括:
对于待校验类型数据:
判断所述待校验类型数据的类型是否符合预先定义的列类型;
若不符合,则将所述待校验类型数据的类型转换为预先定义的列类型,并将所述待校验类型数据转换为在所述列类型下的数据。
一实施例中,所述根据预设校正规则对所述不同场景下的待校验数据进行数据校正,包括:
对于待校验长度数据:
判断所述待校验长度数据是否符合预设长度;
若不符合,则根据预设参考值对所述待校验长度数据进行数据增加或者数据删除,得到校正后的数据。
一实施例中,所述根据预设校正规则对所述不同场景下的待校验数据进行数据校正,包括:
对于待校验数值数据:
当所述待校验数值数据的源头为预设***时,去除所述待校验数值数据中的预设字符,并保留所述待校验数值数据中的可存储数值数据;
按照预设格式要求对所述可存储数值数据进行数据格式修正;所述数据格式修正包括修正为大写格式、修正为小写格式和修正为预设格式;所述预设格式包括日期格式;或者
按照预设的长度要求对所述可存储数值数据进行数据截取或者数据扩展;所述数据扩展是在所述可存储数值数据末尾添加标识符。
一实施例中,所述根据预设校正规则对所述不同场景下的待校验数据进行数据校正,包括:
对于待校验配置数据:
判断所述待校验配置数据与预构建的正则表达式是否匹配,若不匹配则将所述待校验配置数据校正为与所述正则表达式匹配的校正数据;或者
判断所述待校验配置数据与预设自定义函数是否匹配,若不匹配则将所述待校验配置数据校正为与所述自定义函数匹配的校正数据;或者
判断所述待校验配置数据是否符合预设校验规则,若不符合则将所述待校验配置数据校正为符合所述校验规则对应的校正数据;预设自定义函数根据业务规则构建。
一实施例中,所述根据预设校正规则对所述不同场景下的待校验数据进行数据校正,包括:
对于待校验枚举数据:
判断所述待校验枚举数据是否在预设枚举范围中;
若所述待校验枚举数据不在预设枚举范围中时,将所述待校验枚举数据进行剔除或者基于预设默认值对所述待校验枚举数据进行修正处理,得到校正后的数据;
若所述待校验枚举数据在预设枚举范围中时,判断所述待校验枚举数据的数据格式,若所述数据格式为中文名称,则根据预设枚举项目搜索得到所述待枚举数据对应的编码数据,根据所述编码数据将所述待校验枚举数据进行校正,得到校正后的数据。
一实施例中,所述获取预设待导入文件对应的待导入数据,包括:
根据预设用户请求在网页界面选择与所述用户请求对应的excel文件作为待导入文件;
利用表头解析工具对所述待导入文件进行表头解析,得到excel表头;
利用格式转换工具将所述excel表头转换为excel表头对应的json格式数据对象,并将所述excel表头对应的json格式数据对象作为待导入数据。
一实施例中,所述将所述待校验数据标记成异常数据之后,所述方法还包括:
根据所述异常数据生成对应的提醒信息,并根据所述提醒信息对用户进行提醒;或者
对所述异常数据进行标记处理,其中,所述标记处理包括高亮标记、划线标记和批注标记。
一实施例中,所述得到实时导入文件之后,还包括:
获取待参考表格数据,并根据所述实时导入文件中的异常数据在所述待参考表格数据中识别对应的参考数据;
利用所述参考数据对所述实时导入文件中的异常数据进行修正处理,得到修正好的数据;
将校正后的数据和/或修正好的数据保存至预设数据库中。
依据上述实施例的基于校验与校正的数据导入方法、装置及设备,包括获取预设待导入文件对应的待导入数据,其中,待导入数据是一种通用的json格式,便于进行后续校验和验证。将待导入数据划分为不同场景下的待校验数据,并根据预设校正规则针对不同场景下的待校验数据进行数据校正,根据待校验数据的在不同场景下的类型进行校正,提高了数据校正的准确性。根据数据校正完成情况对数据进行标记,并联合预设校正标签一起更新至待导入文件中,得到的实时导入文件可以显示出异常数据,以供用户进行确认修改,更加直观体现出数据的真实性。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
一些实施例中,获取预设待导入文件对应的待导入数据,其中,待导入数据是一种通用的json格式,便于进行后续校验和验证。将待导入数据划分为不同场景下的待校验数据,并根据预设校正规则针对不同场景下的待校验数据进行数据校正,根据待校验数据的在不同场景下的类型进行校正,提高了数据校正的准确性。根据数据校正完成情况对数据进行标记,并联合预设校正标签一起更新至待导入文件中,得到的实时导入文件可以显示出异常数据,以供用户进行确认修改,更加直观体现出数据的真实性。
请参考图1,本发明一些实施例提供一种基于校验与校正的数据导入方法,包括步骤S10至步骤S40,下面具体说明。
步骤S10:获取预设待导入文件对应的待导入数据;待导入文件包括excel文件,待导入数据包括excel表头对应的json格式数据对象。
一些实施例中,预设待导入文件的文件格式为excel格式,也可以为txt格式和html格式,根据具体的需求进行选择。
参考图2,一些实施例中,步骤S10获取预设待导入文件对应的待导入数据包括步骤S11至步骤S13,下面具体说明。
步骤S11:根据预设用户请求在网页界面选择与用户请求对应的excel文件作为待导入文件。
一些实施例中,预设用户请求中包含需要进行导入的文件的名称,因此,根据用户请求选择对应的excel文件,其中,选择好的excel文件的文件名称与用户请求中的名称一致。
步骤S12:利用表头解析工具对待导入文件进行表头解析,得到excel表头。
步骤S13:利用格式转换工具将excel表头转换为excel表头对应的json格式数据对象,并将excel表头对应的json格式数据对象作为待导入数据。
参考图3,一些实施例中,步骤S10获取预设待导入文件对应的待导入数据之后还包括步骤S14至步骤S18,下面具体说明。
步骤S14:获取预设excel模板,对excel模板进行格式转换,得到xml模板文件。
步骤S15:分别对xml模板文件和待导入数据进行加密处理,得到加密json数据和加密xml文件。
步骤S16:将加密json数据和加密xml文件传输至预设数据库中,在数据库中对加密json数据和加密xml文件进行解析处理,得到解析json数据和解析xml文件。
步骤S17:识别解析json数据和解析xml文件之间的映射关系,并在数据库中构建excel模板对应的数据库模板。
步骤S18:根据映射关系将解析json数据导入至数据库模板中对应的参考模板中,得到参考结果;参考模板包括根据映射关系从数据库模板中筛选出来的模板。
一些实施例中,预设数据库可以是后台数据库,通过加密json数据和加密xml文件可以防止在数据传输过程中用户信息的安全出现隐患,并且根据映射关系将解析json数据导入至数据库模板中对应的参考模板中,得到参考结果,该参考结果可以作为导入数据的一个备份,避免后续进行校正和校验时出现问题,无法及时得到导入结果,并且待导入数据也因为进行了数据处理从而无法直接获得原始数据。
步骤S20:提取待导入数据中所有数据行的列名称,根据预设配置规则和列名称将待导入数据划分为不同场景下的待校验数据;其中,不同场景下的待校验数据包括待校验类型数据、待校验长度数据、待校验数值数据、待校验配置数据和待校验枚举数据中的任意一种或者多种。
参考图4,一些实施例中,待导入数据中所有数据行的列名称即为根据不同数据行的配置项说明和列数据的类型预先定义好的名称,例如,对于列名称为name的数据,其对应的列数据类型为字符串,其对应的配置项说明为:列编码,对应的数据库或后端字段名。对于列名称为label的数据,其对应的列数据类型为字符串,其对应的配置项说明为:列名称,对应excel表头名称。
一些实施例中,根据预设配置规则和列名称将待导入数据划分为不同场景下的待校验数据,其中,通过待导入数据的列名称可以快速识别到该数据对应的配置项说明和列数据的类型,而通过预设配置规则即可判断该待导入数据是否为某个场景下的待校验数据。例如,对于列名称为maxlength的数据,其对应的列数据类型为数字,其对应的配置项说明为列数据最大长度,因此,其对应的场景将会被划分为待校验长度数据。
步骤S30:根据预设校正规则对不同场景下的待校验数据进行数据校正,当数据校正完成时,得到校正后的数据,当数据校正未完成时,将待校验数据标记成异常数据。
参考图5,一些实施例中,对于待校验类型数据,步骤S30根据预设校正规则对不同场景下的待校验数据进行数据校正包括步骤S31至步骤S32,下面具体说明。
步骤S31:判断待校验类型数据的类型是否符合预先定义的列类型。
步骤S32:若不符合,则将待校验类型数据的类型转换为预先定义的列类型,并将待校验类型数据转换为在列类型下的数据。
参考图6,一些实施例中,对于待校验长度数据:步骤S30根据预设校正规则对不同场景下的待校验数据进行数据校正包括步骤S33至步骤S34,下面具体说明。
步骤S33:判断待校验长度数据是否符合预设长度。
步骤S34:若不符合,则根据预设参考值对待校验长度数据进行数据增加或者数据删除,得到校正后的数据。
参考图7,一些实施例中,对于待校验数值数据,步骤S30根据预设校正规则对不同场景下的待校验数据进行数据校正包括步骤S35至步骤S37,下面具体说明。
步骤S35:当待校验数值数据的源头为预设***时,去除待校验数值数据中的预设字符,并保留待校验数值数据中的可存储数值数据。
一些实施例中,预设源头可以是指除了预先指定的***以外的其他***,即,当待校验数值数据是从其他***中导出的,因此会包含单位信息,故需要去除待校验数值数据中的单位字符,将其校正为可存储的数值数据。
步骤S36:按照预设格式要求对可存储数值数据进行数据格式修正;数据格式修正包括修正为大写格式、修正为小写格式和修正为预设格式;预设格式包括日期格式;或者。
一些实施例中,可存储数据为XX02-XDS3-0sSd-ISKS,当前***保存的编码不需要中划线,可以通过format规则去掉中划线,或者根据其他的需求进行大小写格式的转换或者修正为其他的预设格式。
步骤S37:按照预设的长度要求对可存储数值数据进行数据截取或者数据扩展;数据扩展是在可存储数值数据末尾添加标识符。
参考图8,一些实施例中,对于待校验配置数据,步骤S30根据预设校正规则对不同场景下的待校验数据进行数据校正包括步骤S38至步骤S310,下面具体说明。
步骤S38:判断待校验配置数据与预构建的正则表达式是否匹配,若不匹配则将待校验配置数据校正为与正则表达式匹配的校正数据;或者
一些实施例中,对于预构建的正则表达式,包括:
获取一个或者多个字符序列的输入数据,并利用正则表达式生成器将字符序列转化为正则表达式。
步骤S39:判断待校验配置数据与预设自定义函数是否匹配,若不匹配则将待校验配置数据校正为与自定义函数匹配的校正数据;或者
步骤S310:判断待校验配置数据是否符合预设校验规则,若不符合则将待校验配置数据校正为符合校验规则对应的校正数据;预设自定义函数根据业务规则构建。
一些实施例中,预设自定义函数根据业务规则构建,业务规则可以是针对邮箱的规则、针对电话号码的规则或者针对统一资源定位标志的规则。
参考图9,一些实施例中,对于待校验枚举数据,步骤S30根据预设校正规则对不同场景下的待校验数据进行数据校正包括步骤S311至步骤S313,下面具体说明。
步骤S311:判断待校验枚举数据是否在预设枚举范围中。
步骤S312:若待校验枚举数据不在预设枚举范围中时,将待校验枚举数据进行剔除或者基于预设默认值对待校验枚举数据进行修正处理,得到校正后的数据。
步骤S313:若待校验枚举数据在预设枚举范围中时,判断待校验枚举数据的数据格式,若数据格式为中文名称,则根据预设枚举项目搜索得到待枚举数据对应的编码数据,根据编码数据将待校验枚举数据进行校正,得到校正后的数据。
一些实施例中,当待校验枚举数据的数据格式为中文名称时,假若数据库并不需要中文名称的待校验枚举数据,那么会根据预设枚举项目搜索与待校验枚举数据对应的编码数据,并根据编码数据进行修正。
参见图10,一些实施例中,步骤S30将待校验数据标记成异常数据之后,还包括步骤S314至步骤S315,下面具体说明。
步骤S314:根据异常数据生成对应的提醒信息,并根据提醒信息对用户进行提醒;或者
步骤S315:对异常数据进行标记处理,其中,标记处理包括高亮标记、划线标记和批注标记。
一些实施例中,通过对异常数据进行提醒信息的生成以及不同形式的标记处理,可以对无法校正的数据提供更准确的错误信息反馈,以便用户可以更加直观地了解数据处理的情况。
步骤S40:将校正后的数据和/或异常数据、预设校正标签和校正后的数据对应的待校验数据更新至待导入文件中,得到实时导入文件。
一些实施例中,步骤S40还包括:
对校正后的数据标记上预设校正标签,并同时记录在校正之前的数据值。
一些实施例中,在校正后的数据上标记了预设校正标签和附带了校正之前的数据值,便于用户查看和确认,例如,当用户利用鼠标查看实时导入文件中的校正后的数据时,不仅可以直观看到该数据是经过了校正,同时可以看到校正之前的值。
参见图11,一些实施例中,步骤S40得到实时导入文件之后,还包括步骤S50至步骤S70,下面具体说明。
步骤S50:获取待参考表格数据,并根据实时导入文件中的异常数据在待参考表格数据中识别对应的参考数据。
一些实施例中,待参考表格数据中包含不同的类型数据以及数据的正确表达形式,而参考数据即为数据的正确表达形式。
步骤S60:利用参考数据对实时导入文件中的异常数据进行修正处理,得到修正好的数据。
步骤S70:将校正后的数据和/或修正好的数据保存至预设数据库中。
一些实施例中,步骤S40得到实时导入文件之后,还包括:
获取文件展示模板,按照预设展示规则将实时导入文件在文件展示模板中进行展示。
一些实施例中,在文件展示模板上可以设置展示区域,信息记载区域或者其他相关区域,以此来实现展现设置的个性化,并且符合用户的需求。其中,所述预设展示规则为将文件在文件展示模板中的展示规则,即多个文件在文件展示模版中的排列规则或者分布规则。
参见图12,一些实施例中,用户选择任意excel文件作为待导入文件,并将待导入文件上传至后端进行解析,返回解析后的excel表头对应的json格式数据对象,并对接收到的excel表头对应的json格式数据对象进行校验和校正,完成实时表格,即实时导入文件。用户可以查看实时表格以及实时表格中的异常数据,同时,用户可以对表格中的数据进行修正或者确认,修正或者确认后的数据将会提交至后端,同时将数据存储在数据库中。
一些实施例中,待校验数据的获取和数据校正都在前端进行,而后端只是进行解析文件和返回数据的操作,因此可以减轻后端服务器的负担,从而提高***的整体性能,同时灵活运用预设配置规则和预设校正规则,可以提高数据导入的准确性和完整性,同时也提高了数据导入的效率。并且前端校验也可以及时反馈错误,用户可以在前端页面及时修改,无需重新下载文件进行修改并再次上传,节省了用户的时间。
依据上述实施例的基于校验与校正的数据导入方法、装置及设备,包括获取预设待导入文件对应的待导入数据,其中,待导入数据是一种通用的json格式,便于进行后续校验和验证。将待导入数据划分为不同场景下的待校验数据,并根据预设校正规则针对不同场景下的待校验数据进行数据校正,根据待校验数据的在不同场景下的类型进行校正,提高了数据校正的准确性。根据数据校正完成情况对数据进行标记,并联合预设校正标签一起更新至待导入文件中,得到的实时导入文件可以显示出异常数据,以供用户进行确认修改,更加直观体现出数据的真实性。
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的***进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。