| 查看: 1256 | 回复: 10 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[求助]
请大神帮编个提取目标数据的小程序,感激不尽啊,急用啊!已有1人参与
|
|||
|
记录序号 电压/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 谢谢,如果觉得金币少,可以加金币啊!谢谢! |
» 猜你喜欢
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
孩子确诊有中度注意力缺陷
已经有6人回复
2026博士申请-功能高分子,水凝胶方向
已经有6人回复
论文投稿,期刊推荐
已经有4人回复
硕士和导师闹得不愉快
已经有13人回复
请问2026国家基金面上项目会启动申2停1吗
已经有5人回复
同一篇文章,用不同账号投稿对编辑决定是否送审有没有影响?
已经有3人回复
7152075
铁杆木虫 (著名写手)
解决问题的方法比遇到的问题多
- 应助: 44 (小学生)
- 金币: 17670.7
- 红花: 10
- 帖子: 2108
- 在线: 175.6小时
- 虫号: 3086834
- 注册: 2014-03-25
- 性别: GG
- 专业: 理论和计算化学
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
lisu555: 金币+20, ★★★★★最佳答案, 好,谢谢,我试一试,太感谢了!好人啊!! 2016-12-26 00:24:17
lisu555: 金币+20, ★★★★★最佳答案, 好,谢谢,我试一试,太感谢了!好人啊!! 2016-12-26 00:24:17
|
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。 |

11楼2016-12-25 22:47:44
zhswee
铁杆木虫 (著名写手)
- 应助: 130 (高中生)
- 金币: 6195.7
- 散金: 400
- 红花: 19
- 帖子: 2416
- 在线: 398.7小时
- 虫号: 2658798
- 注册: 2013-09-16
- 专业: 力学
2楼2016-12-25 05:10:46
4楼2016-12-25 10:12:12
Noch
金虫 (著名写手)
壮士
- 应助: 25 (小学生)
- 金币: 3295.4
- 散金: 351
- 红花: 14
- 帖子: 1120
- 在线: 237.9小时
- 虫号: 2906291
- 注册: 2013-12-31
- 性别: GG
- 专业: 机械结构强度学

5楼2016-12-25 11:21:53













回复此楼

