DatistEQ之文档解析入库

时常在琢磨Excel数据入库的问题。意义重大,业务实现线上管理,以更多的用户共享应用,从而提升企业的效率。然而,企业级数据整理入库,将是一个最为基础的工作,少量的数据入库,可以动用人力去实施;然而遇到数万个文件,该怎么办?这项工作,技术含量不高,性价比低,如何高效推进呢?

我一直有一个观念,“外行仅通过很少培训就行胜任工作,完全可以交给计算机来干。”

Excel文档,一个相对标准的数据存储方式,从文件中,把内容抽提出来放到库里。大约十五年前曾遇到过,在储层研究过程中,对研究区的岩性与物性按深度段进行匹配,分析岩性与物性的对应关系。岩芯物性数据由试验室的分析人员测试而已,以Excel报告的格式存放。

VBA是一个很好的东西,录制宏命令,再进行少量的整理,即可自动完成特定的工作。于是,以VBA为基础,编写了一个针对物性解析入库的小软件。

后来,在DatistEQ中,增加了智能解析节点,提升了软件应用的普适性;同时,与其它节点协作,在文件解析的质量评估与数据质量提升方面,取得了质的飞跃。

最近后一个案例,从1968年以来的取芯台帐,1万多个文档,解析入库,前前后后陆续忙了一两个星期,总是想不明白解析过程中的奥义。

1、案例

DatistEQ中的流程如下:

image.png

注:2022 Q4 版,对系统进行优化,智能解析节点的日志,输出两个文件:一个是保留原有详细的格式;另一则是,文件解析列表,以便于对文件解析质量进行评估。

共69个节点

共69个节点;其中,2个数据源节点。
Title       Count   NodeName        
汇总             11    NodeAggregate
行筛选           10    NodeSelect    
列过滤           10    NodeFilter    
新列              8    NodeDerive    
联合              5    NodeMerge      
超节点            3    NodeSuper      
输入              3    NodeSuperInput
输出              3    NodeSuperOutput
条件替换          2    NodeFiller    
追加              2    NodeAppend    
行序              2    NodeSort        
累加器            2    NodeRowID      
智能解析          1    NodeXLS          
汇总转列          1    NodeRecord2Field
浏览数据          1    NodeTable      
文件收集器        1    NodeStreamCollection
浏览报告          1    NodeHtmlReport
列序              1    NodeFieldSort
TXT+              1    NodeTXTEx      
行列转换          1    NodeRow2Col  

运行日志如下:(智能解析节点,运行耗时8分30秒)

[2022-09-04 21:44:32.191] [0.003]  [367M]   日志: 【开启】<智能解析:5dfcbc19-d185-441d-a0ef-292711735dd8>
[2022-09-04 21:45:02.086] [29.895]  [529M]   进度: <智能解析> 22282
[2022-09-04 21:45:02.433] [0.347]  [529M]   INFO: 解析Excel:864/14625 5.91%
[2022-09-04 21:45:32.100] [29.667]  [521M]   进度: <智能解析> 46665
……
[2022-09-04 21:52:32.765] [29.986]  [665M]   INFO: 解析Excel:14129/14625 96.61%
[2022-09-04 21:52:32.782] [0.017]  [665M]   进度: <智能解析> 353220
[2022-09-04 21:53:01.512] [28.730]  [652M]   INFO: 解析Excel:14625/14625 100.00%
[2022-09-04 21:53:01.802] [0.289]  [652M]   INFO: 【解析报告】
[2022-09-04 21:53:01.802] [0.000]  [652M]   INFO: 读取表单方式:   一个
[2022-09-04 21:53:01.802] [0.000]  [652M]   INFO: 日志文件位置:   E:\实物地质资料\log.log
[2022-09-04 21:53:01.802] [0.000]  [652M]   INFO: 共获取14625个。
[2022-09-04 21:53:01.804] [0.003]  [652M]   INFO: 可解析14581个;其中,有数据文件12767个,入库记录366941条,无数据文件1814个。
[2022-09-04 21:53:01.806] [0.001]  [652M]   INFO: 不可解析44个;
[2022-09-04 21:53:03.016] [1.211]  [652M]   INFO: 【完成】<智能解析:5dfcbc19-d185-441d-a0ef-292711735dd8> T
image.png

2、数据质量评价

数据解析的第一步是什么?需求与规则;数据质量?

1)完整性
释义:空值或记录不完整。
举例:合同有效日期为空,地址信息只写到省市。

2)准确性
释义:虽然是信息真实,但录入系统有偏差。
举例:客户姓名输入了错别字,或者输入成地址信息,就存在准确性问题。

3)有效性
释义:数据是否有效,广义来讲有效性也等同于真实性。
举例:客户提供的手机号,是否为可被联络的手机号。提供的证件信息,是否为证件有效期内的信息等。

4)一致性
释义:相同数据项在不同系统或同一系统内不同表中记录多次时,多个数据值是否相同。
举例:例如同一客户证件号,在客户信息管理系统中的客户名称应与信贷系统一致。

5)唯一性
释义:是否满足一个业务唯一关键数据项值组合仅对应一条记录。
举例:例如一个统一社会信息用代码仅有一条客户信息记录。

3、文件质量评价

文件级<先挑文件,那些是没有问题的?>
1)文件错误,打开异常不能访问;日志;完整性
2)文件不识别,读取模板不匹配,没有指定的内容;日志;完整性
3)空文件,模板匹配,但内容为空;日志;完整性
4)文件重复,不同文件同井名。唯一性
解决方案:判断文件的完整性,最相对完整的文件提出来;以文件为单位,进行判断,而非记录,曾以记录为单位进行去重,不完整文件则无法区分。
5)一个文件多个井名;唯一性

记录级
6)井名与文件名不致; 一致性
7)井名为空;完整性
8)存放位置为空;完整性
9)井段信息为空;完整性

文件总数14625个。
解析12767个,
    入库11593口井,共331729段,单井平均64米,共747186米岩芯。
    待核查687个
        多个井名     67个
        井号有误    168个
        井号缺失    156个
        井段缺失    295个
        位置缺失    141个
    因重复忽略      487个 
空文件  1814个
未识别    44个
错误文件   0个

4、结论

需求是什么?仅是人为的分类,看问题的角度不同。

原以为需求是把Excel文件解析入库;进而从文件质量评估视角来进行处理。把单纯数据入库问题转化为质量评估问题,从具体数据入库工作跳出来,关注全局性文件质量问题上,把文件划波,更容易解决问题。

由此可见,数据入库仅是质量评估的副产品,沿用数据质量估计的基础理论,从文件级、记录级进行数据质量评估。在数据质量理论的指导下,细化为文件质量评价方法,形成9条具体的业务规则。

低代码的意义,降低试错成本?1万个文件弄完,半年过去了,再来半年?具体做事人,跟本没有精力去重复尝试。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,393评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,790评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,391评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,703评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,613评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,003评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,507评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,158评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,300评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,256评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,274评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,984评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,569评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,662评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,899评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,268评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,840评论 2 339

推荐阅读更多精彩内容