周朝宪
从相关联的分布在n个sheet表中选取某性质数据的快速方法
2017-12-12 15:54
阅读:3821
标签:数据提取, 大量数据中, 分布于n多sheet表中, 快速提取某一性质数据

How to quickly select all data with a specific characteristic

from a big database with several sheets


目的有海量数据,如excel格式或者Access格式存在,分布在n多个sheet表中,且各表之间有关联,如何快速把各个sheet表某一性质的数据都提取出来。

当然可以每个sheet表逐行手工删除,但是对大量数据而言,那样耗时巨大,且很容易出错。


如:从大量钻孔数据(Collarsurveylithologyassay 等表)中选取某个区域的数据,从而得到指定区域的钻孔4个(n个也可以)数据表。

这些数据表各个数据表之间具有某一属性相同(sheet表中结构可以不同也没关系),如下面例子的钻孔名字(Hole_ID),下述方法就有效

如果没有类似的Collar表,我们也可以在其中一个sheet表中造出一列或者2列,具有我们需要的性质,从而使用下述方法把各个sheet中具有该种性质的数据快速单独提取出来。


使用软件MapInfo/Discover, MS Excel


具体步骤如下:

第一步   collar中删除指定区外的钻孔

1 collar表投入MapInfo注意一定勾选tick红圈中的。从而使导入MapInfo后的collar表可编辑。


2 MapInfo中造出指定区域(如下图中的Area,注意是区,而不是多边Polygon Selection),并使区成透明。


3 利用boundary select (不是polygon select)选中区内的所有孔。步骤为先点击BoundarySelection,然后在区内随便点一下鼠标,即出现如下图


4 点击Invert Selection,出现如下:


5 打开collar表的table,把上面步骤选中的区外钻孔一键删除。然后pact collar,清除空白行。

也可同时把生成的collar表输出(export功能)成csv等格式。输出不输出不影响第2步的操作。




2   surveylithologyassay表中删除指定区外的钻孔

lithology表为例。其他表同。办法是在lithology表中引入一列辅助,完成筛选后,再把这一列删除即可。


6 lithology中加一列,如取名TEST,数据格式为float


7 利用上述步骤得到的collar表,对lithology表的TEST列进行赋值。

具体步骤:

Discover> Table Utilities> Multi Column Update

collar表中的X坐标数值赋给Lithology表中的TEST列。


8 导出lithology表为excel格式。


9 利用excel数据筛选功能,把TEST0的行(即指定区外的钻孔)全部删除。再把引入的TEST列删除即可。这样就把lithology更新完毕。


转载本文请联系原作者获取授权,同时请注明本文来自周朝宪科学网博客。

链接地址:https://wap.sciencenet.cn/blog-856115-1089339.html?mobile=1

收藏

分享到:

当前推荐数:0
推荐到博客首页
网友评论0 条评论
确定删除指定的回复吗?
确定删除本博文吗?