爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4158|回复: 7

[求助] fortran处理txt文件前的准备工作?

[复制链接]

新浪微博达人勋

发表于 2013-5-2 06:11:42 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
最近处理站点数据的一些经验与困惑:
问题1:
我使用dos的type命令把4000个txt文件合并到了同一个txt文件中。
但是每一个文件的第一行说明性的文件也合并到了这个txt中。
我想到的办法是用查找替换成空行来代替。
但是空行本身还是存在的。
我想问有没有办法把空行给删除掉。
当然我指的方法是在fortran处理数据之前,不用fortran有没有办法删除掉空行?

问题2:
同样的有2000个.000文件,不过这次是前14行都是说明性的文件。
我也是使用dos命令把2000个.000文件合并了成了一个txt文件。
但是这每个文件的前十四行业合并进去了。
并且这十四行每一行都不一样。
那其中一个举个例子,前十四行是:
diamond 3 00年01月01日08时24小时降水量
00 01 01 08   -2
      8
      1      5     10     25     50    100    150    200
      1     25     39
  122.7   37.3  122.5   36.7  120.8   36.2  119.3   35.0  120.4   34.3
  121.1   32.7  122.3   30.9  122.5   30.1  121.5   28.0  119.8   25.0
  116.1   22.6  111.0   21.0  111.0   18.6  109.6   18.1  108.3   18.5
  108.9   19.9  109.3   21.0  106.4   21.6  104.1   22.2  101.6   20.8
   98.7   22.0   97.1   24.1   97.7   27.0   91.7   26.6   85.7   27.7
   78.9   30.6   73.3   37.1   74.1   40.7   87.6   49.8   98.5   43.9
  110.4   44.3  122.0   54.7  135.7   48.3  131.5   42.2  125.2   39.4
  121.3   38.5  121.2   40.3  118.5   38.6  120.8   38.1
    1    236


由于每一个.000文件的行数是不一样的。所以我不可能把这些文件读进fortran在处理。

所以想请教大家的是有没有办法在txt中去去掉每一个文件中的前14行呢?

当然我知道有一种方法是用fortran批量镀金之后,跳过前十四行的数据。
不过我不太想这么做。我想在txt中就可以把它处理掉。
不知道大家用什么推荐呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-2 07:16:21 | 显示全部楼层
Linux下sed的组合命令应该有此功能(不过我没作这个尝试)。

评分

参与人数 1金钱 +20 贡献 +2 收起 理由
letsdo8 + 20 + 2

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-2 07:21:21 | 显示全部楼层

评分

参与人数 1金钱 +20 贡献 +2 收起 理由
letsdo8 + 20 + 2

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2013-5-2 08:45:10 | 显示全部楼层
本帖最后由 言深深 于 2013-5-2 08:47 编辑

你的数据规则的话为何不直接用fortran处理呢?
直接do i=1,14
read(1,*)
enddo
就可以跳过这14行了···

至于每个数据行数不一样可以通过程序读取文件的行数的,具体请参考@mofangbao写过的一个帖子,请自行查找
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-2 08:48:22 | 显示全部楼层
上面说的对呀。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2013-5-2 09:03:35 | 显示全部楼层
在UE或者notepad++、notepad2这种支持正则表达式的编辑器里面用正则替换就行了
另外,程序能一次搞定的没必要分好几步,自己折腾自己
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-5-2 09:23:49 | 显示全部楼层

嗯呵呵多谢清风版主提醒。
我也是探索txt命令。这样不用fortran最终是导入到excel中运用透视表去处理数据的。
正则替换我还是第一次听说。
我赶紧去google一下如何替换使用。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-9-16 21:07:17 | 显示全部楼层
{:eb303:}{:eb303:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表