回 帖 发 新 帖 刷新版面

主题:[原创]矩阵数据读取

我有一个5G左右的大矩阵(气象原始数据),不能确定到底有多少行,因为数据太大无法打开,我现在需要时间品均,请问各位大侠及斑竹如何读取文件,确定矩阵行数?[size=6][/size][color=0000FF][/color]

回复列表 (共6个回复)

沙发

文件数据的规律大概知道吧? 知道就一行行读下去, 做个文件末的出错处理.

板凳

我认为这种数据应该是二进制的,否则太不合理了

3 楼

我师兄一个程序也是生成一个10多G的一般文本文件, 然后再单独一个程序去处理几个小时得到几个最终数据文件, -_-'''

4 楼


事实上,一些长周期的在野外观测的气象数据并不是二进制的,数据文件的大小对于存储卡来说早就不是问题了。

5 楼


关键的两个语句是什么?
能否写出来?

6 楼

open(unit=84, file="a.txt")
do
  read(unit=84, fmt="(格式)", iostat=error) a_line
  if(error/=0) exit
  '处理'
enddo

我习惯是这样处理, 具体使用根据你遇到的问题修改.
error 的返回值其实根据不同出错情况有不同值, 到文件尾只是其中一种. 想获得更多信息可以查阅iostat的用法.

如果改用二进制文件, 文件体积有可能少2个量级. 读取速度也能大大加快. 整个处理程序运算能够节省不少时间. 这不是能不能放这么大的文件的问题.

我来回复

您尚未登录,请登录后再回复。点此登录或注册