|||
How to quickly select all data with a specific characteristic
from a big database with several sheets
目的:有海量数据,如excel格式或者Access格式存在,分布在n多个sheet表中,且各表之间有关联,如何快速把各个sheet表某一性质的数据都提取出来。
当然可以每个sheet表逐行手工删除,但是对大量数据而言,那样耗时巨大,且很容易出错。
如:从大量钻孔数据(Collar,survey,lithology和assay 等表)中选取某个区域的数据,从而得到指定区域的钻孔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步 在survey,lithology和assay表中删除指定区外的钻孔
以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数据筛选功能,把TEST为0的行(即指定区外的钻孔)全部删除。再把引入的TEST列删除即可。这样就把lithology更新完毕。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-22 10:06
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社