如何利用办公软件的替换功能快速整理数据
审计数据分析过程中,我们经常会需要整理生成一些审计中间表。比如在分析某培训班名单时,我们希望查看每个地区参加培训的情况及哪些地区没有参加培训,为此,就需要生成一张全省的地名表作为中间表以便进行后续数据分析。地名表的结构只需包含序号、地名两个字段即可。
为生成这样一张表,通常情况下,我们首先是通过网络搜索,查找某省下面的所有直辖市和直管县地名,然后通过以下几种方式导入数据库:一是在数据库使用create table语句创建一张新表,手工插入地名数据;二是在Excel等办公软件中手工录入地名数据,然后导入数据库;三是查找类似的符合二维表基本结构的现成的全省地名表,通过简单的整理即可导入数据库。除第三种情况外,均需要手工录入数据。下面,笔者介绍一种利用办公软件替换功能快速整理类似数据,避免手工录入、提高效率的的方法,供大家学习交流、参考应用。
通过网络搜索,我们获取了如下两段保存在word文档中的地名信息:
“河南省分为18个地级市:郑州,开封,洛阳,平顶山,安阳,鹤壁,新乡,焦作,濮阳,许昌,漯河,三门峡,商丘,周口,驻马店,南阳,信阳,济源。
在省委直接领导下,从2014年开始,河南在巩义市、兰考县、汝州市、滑县、长垣县、邓州市、永城市、固始县、鹿邑县、新蔡县等10个县(市)实行全面直管制度,为新型城镇化建设进行有益探索。”
图1:地名表
观察数据,我们发现,这是一段没有任何结构的十分不符合数据库二维表要求的非结构化数据,与我们期望的目标,形如图1所示的地名表结构相去甚远,但是它包含了我们需要的18个地市和10个直管县的名称,我们要做的就是快速将其提取出来。对除地名外的文字,我们尽可删除,删除后如下所示:
“郑州,开封,洛阳,平顶山,安阳,鹤壁,新乡,焦作,濮阳,许昌,漯河,三门峡,商丘,周口,驻马店,南阳,信阳,济源
巩义市、兰考县、汝州市、滑县、长垣县、邓州市、永城市、固始县、鹿邑县、新蔡县”
进一步观察发现,如果我们能将每一个地名作为一个段落保存在word中,然后复制粘贴到Excel表中,即可实现如图1所示的数据表。按照这个思路,问题的关键是如何将每一个地名放置在一个段落中,并同时删除每个地名后的顿号(、)和逗号(,)。如果说可以用手工的方式删除顿号、逗号并实现分段,那未尝不可,但如果数据量很大的话,就比较费时费工了,这与利用计算机提高工作效率的精神也是相背离的。
其实对于word等办公软件,如果能有效利用其替换功能,是可以实现快速批量处理文字信息的。比如,要把文档中的某一文字全部替换为另一文字,可以调用替换功能批量处理,如下图2所示,替换功能可以使用【Ctrl+H】快捷键方式调用。那对于地名后的顿号(、)和逗号(,)能否使用替换功能批量处理成段落标记呢?答案是可以的。
图2:替换功能界面
在word等办公软件中,段落标记的显示符号是回车换行符,在查找替换时可以用“^p”来表示。换句话说,“^p”就表示段落换行,其由两部分组成,一是倒V符号“^”,可以通过半角状态下的shift+数字6输入;二是字母“p”,大小写无影响,两者之间没有任何空格,紧邻书写。在查找替换时,诸如段落符号“^p”这样一些倒V符号“^”加字母的标记,如软回车“^l”(字母L的小写)、制表符“^t”、手动分页符“^m”等,同常见的数字、字母、汉字及标点符号等字符是一样的,是可以相互替换的。对于地名文字信息,可以用如下图3所示的方式将顿号(、)和逗号(,)快速批量替换为段落回车符,其结果如图4所示。
图3:替换段落分隔符“^p”
图4:替换段落回车符后的结果示意图
最后,将整理好的一个地名一个段落的地名信息复制粘贴到Excel表中,添加序号列,即可生成地名中间表导入数据库。
在这个实例中,从我们提出问题、分析问题到解决问题,仅用到了word替换功能和段落标记两个办公软件小技巧。在实际审计工作中,我们可能会遇到各种各样的、十分复杂的数据处理需求,特别要求是在Excel、Word等办公软件中进行数据处理,比如怎么快速删除空行可以用“^p”替换“^p^p”的方式实现,怎么删除软回车可用空值替换“^l”的方式现实等等。如果我们审计人员能够十分熟练应用Excel、Word等办公软件提供的功能,往往可以达到事半功倍的效果。当然,word等办公软件的应用功能是多种多样的,处理数据的方式也是丰富多彩的,甚至每一个人有每一个人不同的数据处理习惯,但无论怎样,只要我们坚持用计算机的思维意识去思考问题、用计算机的技术手段去解决问题,在工作中不断学习总结、研究提炼,在面对类似或是更为复杂的数据时,处理起来一定能够得心应手、游刃有余。