测井数据批量处理

在Jason处理地震数据时,需要加载井数据,而井数据又分为多种。在加载数据之前可能要对其进行预处理。本文以时深关系曲线为例,对其进行处理使得Jason能够识别。


简单的处理过程如上图,生成新的文本文件,去掉原数据中的字符,同时删去头尾部分数据以节省空间


本方法代码如下:

/
author:Yongxiao Tian,China university of petroleum East
/

#define _CRT_SECURE_NO_WARNINGS
#include "max.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main()
{
	char filepath[FILENAME_MAX] = "J:\\TD\\filename.txt";  //保存有所有需要处理的文件名
	char openfile[FILENAME_MAX] = { 0 };
	char savefile[FILENAME_MAX] = { 0 };
	char readfile[FILENAME_MAX] = { 0 };
	char* temp = 0;
	FILE* cf;
	FILE* of;
	FILE* sf;

	int N = 1;
	int i = 0;
	int fa = 0;
	int sa = 0;

	double frow = 0;  //第一列
	double srow = 0;  //第二列

	cf = fopen(filepath, "rt");
	if (!cf){ printf("open file failed\n"); return -9; }

	while (!feof(cf))
	{
		//读取待处理文件名
		fscanf(cf, "%s\n", readfile);

		//设置打开文件路径
		strcat(strcpy(openfile, "J:\\TD\\"), readfile);
		//设置保存文件路径
		temp = strchr(readfile, '_');
		strcpy(savefile, "J:\\TD_nw\\");
		strncat(savefile, readfile, temp - readfile);
		strcat(savefile, "_TD.txt");
		printf("%s    |||||    %s    %d\n", openfile, savefile, N++);

		of = fopen(openfile, "rt");
		sf = fopen(savefile, "wt");
		if (!of || !sf){ printf("open file failed\n"); return -99; }

		for (i = 0; i < 10; i++)fgets(readfile, FILENAME_MAX, of);  //删除开头十行
		fscanf(of, "%lf%lf%*s", &frow, &srow);
		while (!feof(of))
		{
			if (frow < 100.0)fa = 9;
			else if (frow < 1000.0)fa = 8;
			else fa = 7;

			if (srow*2 < 100.0)sa = 9;
			else if (srow*2 < 1000.0)sa = 8;
			else sa = 7;
			if (srow>0.0){
				fprintf(sf, "%-12.*lf  %-12.*lf\n", fa, frow, sa, srow * 2);
			}
			fscanf(of, "%lf%lf%*s", &frow, &srow);
		}
		fclose(of);
		fclose(sf);
	}

	return 0;

}

好啦,希望大家学的开心。最近在做项目,我会把期间的心得体会和技巧慢慢po上来。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值