如何从一个大规模的文本中筛选出符合条件的记录
现在是大数据时代。尤其是互联网企业,任何一个人都有可能拿到一份庞大的数据。不管你是否具有数据处理的能力,你都要面对它。
面对突如其来的一份庞大的数据,该怎样来对付它呢?这时候用SqlCel正是一个非常好的选择。
为了直观地介绍SqlCel的数据处理功能。我们设定一个具体的场景。比如你发现本公司的视频类APP当天播放卡顿率明显升高,于是你请求数据部门提取相关明细数据。你怀疑是新上的版本异常,于是你要从明细数据中提取最新的APP版本号作进一步的分析。
你获取的是一个1000万行的csv文本,怎样从这个文本中提取最新版本号的所有记录?这就是今天的考题。
对于一个专业的数据处理人员可能会对这个问题不屑一顾。因为只需要把数据导入数据库并写一个sql语句就可以查询出来。然而,对于多数运营人员,他是没有数据库的,更不会使用数据库。
而用SqlCel问题就会变得非常简单。本文提供三种用SqlCel实现这个功能的方法。
用SqlCel处理文本(csv/txt格式的文件)首先需要连接到文本所在的文件夹。如下:
方法一、用“选取记录”功能。如下:
点击“生成”按钮即可将 VersionCode = ‘V3.8.2’ 的记录筛选到一个名为"V382.csv"的新表中。如下:
方法二:用“拆分文件”
拆分文件可逐行过滤文本筛选出符合条件的记录,并可同时输出对立文件(不符合过滤条件的文件)
方法三、使用SQL语句
SqlCel可向文本提交SQL语句。SqlCel不仅可以提交SELECT语句,还可以提交CREATE语句。SQL语句如下:
CREATE TABLE V382.csv AS SELECT * FROM bofang200720.csv WHERE VersionCode='V3.8.2'
通过这个SQL语句可以选取符合条件的记录并存储在一个新的表“V382.csv”中
csv/txt文本的CREATE语句是SqlCel比较创新的一个写法,可通过SELECT选取记录并输出到一个新的文本中。
上一篇: 【hpu oj 1018 985的最大和难题 [思维]】
下一篇: 迷路[SCOI2009]题解