czhou28的个人博客分享 http://blog.sciencenet.cn/u/czhou28

博文

从相关联的分布在n个sheet表中选取某性质数据的快速方法

已有 3442 次阅读 2017-12-12 15:54 |个人分类:MapInfo/Discover|系统分类:科研笔记| 数据提取, 大量数据中, 分布于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://blog.sciencenet.cn/blog-856115-1089339.html

上一篇:Migration of New Zealand Islands 新西兰岛的漂移
下一篇:VMware虚拟机下如何识别移动硬盘
收藏 IP: 27.123.168.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-13 05:29

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部