我有一个13列41行的文件,其中包括41个不同组的Joback方法的系数。 但是,有些值不存在,并且该表将它们列出为“ X”。 我将表另存为.csv,然后在代码中将文件读取到数组中。 .csv的两行摘录(第二行包含不存在的系数)如下所示:
48.84,11.74,0.0169,0.0074,9.0,123.34,163.16,453.0,1124.0,-31.1,0.227,-0.00032,0.000000146
X,74.6,0.0255,-0.0099,X,23.61,X,797.0,X,X,X,X,X
我尝试做的是读取并定义一个数组来保存每个IOSTAT值,这样我就可以知道是否读取了“ X”(即IOSTAT为正数):
DO I = 1, 41
(READ(25,*,IOSTAT=ReadStatus(I,J)) JobackCoeff, J = 1, 13)
END DO
我发现问题是,如果要读取的行的第一个值为“ X”,产生一个正数的ReadStatus值,那么这些行的其余值将无法正确读取。
我的意图是,如果JobackCoeff(I,J)导致读取错误,则使用ReadStatus数组生成一条错误消息,从而查明“ X”。
出现读取错误后,我可以强制程序继续读取一行吗? 还是有更好的方法呢?