当前位置: 首页 > 程序语言 >请大神帮编个提取目标数据的小程序,感激不尽啊,急用啊!

请大神帮编个提取目标数据的小程序,感激不尽啊,急用啊!

作者 lisu555
来源: 小木虫 500 10 举报帖子
+关注

记录序号        电压/V
244        3.9803
245        3.9602
246        3.9438
             注:原始数据这里都不空格
2131        3.9648
2132        3.9447
2133        3.9388
            注:原始数据这里都不空格,这里空格方便说明情况而已!
11573        3.9534
11574        3.9332
11575        3.9137

13462        3.9524
13463        3.9323
13464        3.9121
13465        3.9081

15350        3.9506
15351        3.9298
15352        3.9097
15353        3.9013

17241        3.9484
17242        3.9283
17243        3.9081
17244        3.8926

38084        3.7339
38085        3.7116
38086        3.6883
38087        3.6647
38088        3.6437
38089        3.6226
38090        3.6000
38091        3.5779
38092        3.5565
38093        3.5361
38094        3.5135
38095        3.4930
38096        3.4716
38097        3.4508
38098        3.4304
38099        3.4102
38100        3.3901
以后还有类似数据已省略...


请大神帮编个提取目标数据的小程序: 即序号不是(+1)连续时,提取 连续序号段 相应首尾序号对应的电压值,如:我需要提取
3.9803  3.9438                 
3.9648  3.9388
3.9534   3.9137
3.9524   3.9081
3.9506   3.9013
3.9484  3.8926
3.7339  3.3901
谢谢,如果觉得金币少,可以加金币啊!谢谢! 返回小木虫查看更多

今日热帖
  • 精华评论
  • lisu555

    引用回帖:
    6楼: Originally posted by 7152075 at 2016-12-25 15:27:42
    亲,你最好上传输入文件,然后指明用什么语言编写,要不然别人也没法帮你啊。

    什么语言都可以,只要在win下 或linux下能运行就行。

  • 7152075

    引用回帖:
    9楼: Originally posted by lisu555 at 2016-12-25 19:58:13
    什么语言都可以,只要在win下 或linux下能运行就行。...

    program Obtain_data
        implicit none
        integer i,j,k,ii,ierr
        integer,allocatable::num( : ) !//序号
        real*8,allocatable::voltage( : ) !//电压
        character( len=64 ) str,file_name

        open( 11,file='wenjian.txt' )
        open( 12,file='result.txt' )
        !******读取文件总共有多少行********
        i=0
        read( 11,* )
        do
            read( 11,*,iostat=ierr ) str
            if( ierr/=0 ) exit
            i=i+1
        end do
        allocate( num( i ) )
        allocate( voltage ( i ) )
        rewind( 11 )
        !********将序号和电压存储在数组中********
        read( 11,* )
        do j=1,i
            read( 11," ( a64 )" ) str
            read( str,* ) num( j ),voltage( j )
        end do
        !********找连续序号并提取出第一个和最后一个电压值********
        ii=1 !//记录连续序号有多少个
        do k=1,i
            if( ( k+1 )/=i ) then !//序号不是最后一个
                if( num( k+1 )==num( k )+1 ) then
                    ii=ii+1
                else
                    write( 12,"( 2 ( f8.4,2x ) )" ) voltage( k+1-ii ),voltage( k )
                    ii=1
                end if
            else !//序号是最后一个的情况
                if( num( k+1 )==num( k )+1 ) then
                    write( 12,"( 2( f8.4,2x ) )" ) voltage( k+1-ii ),voltage( k+1 )
                    exit
                else
                    write( 12,"( 2 ( f8.4,2x ) )" ) voltage( k+1-ii ),voltage( k )
                    exit
                end if
            end if
        end do

        deallocate( num )
        deallocate( voltage )
        close( 11 )
        close( 12 )
        write( *,* ) 'OK'
        read( *,* )
        end program Obtain_data
    这个程序是用Fortran书写的。输入文件叫wenjian.txt,输出文件叫result.txt,不知道你给的格式是什么样的,所以按照你给你自己做的,如有需要请自行修改其形式,包括输入文件样式等等。我自己做的输入文件上传了,不知道做的对不对。亲测在windows和Linux系统下编译都好使。
    输入文件为
    记录序号        电压/V
    244        3.9803
    245        3.9602
    246        3.9438
    2131        3.9648
    2132        3.9447
    2133        3.9388
    4026        3.9590
    4027        3.9388
    4028        3.9335
    5913        3.9565
    5914        3.9363
    5915        3.9298
    7798        3.9537
    7799        3.9335
    7800        3.9261
    9690        3.9534
    9691        3.9329
    9692        3.9199
    11573        3.9534
    11574        3.9332
    11575        3.9137
    13462        3.9524
    13463        3.9323
    13464        3.9121
    13465        3.9081
    15350        3.9506
    15351        3.9298
    15352        3.9097
    15353        3.9013
    17241        3.9484
    17242        3.9283
    17243        3.9081
    然后你改成wenjian.txt。PS:小木虫今天传东西一直是error

猜你喜欢
应助之星
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓