【发布时间】:2016-01-19 06:47:45
【问题描述】:
我正在使用外部程序运行模拟,该模拟返回给我一个包含输出数据的 csv 文件。我需要将此文件中的数据读入我的 fortran 程序,该程序分析和优化输入条件以重新运行外部程序。
CSV 文件有 20 列和 70 行。每列包含特定参数的输出数据。现在由于该程序不是我编写的,因此我无法控制输出值的精度。因此,在许多情况下,外部程序会截断小数点后的位数,因为它们为零。所以有可能在运行号 1 中,某个字段小数点后 3 位,而运行号 2 中只有小数点后 2 位。
我应该为此做些什么?我不能使用 read 命令,因为我需要提前指定我的程序必须读取的位数。
我的程序基本上需要一种方法来识别逗号之间的数据并读取逗号之间的值或不同的精度。
【问题讨论】:
-
我需要提前指定我的程序必须读取的位数 并非总是如此。尝试 list-directed 输入,例如
read(unit,*) c1, c2, c3, ...即使用*作为阅读格式。 -
我不明白你的问题。你有任何错误信息或什么?代码和输入文件长什么样子?
-
@Mark,谢谢...是的,实际上最终做到了。不想因为种种原因。但不得不.. 谢谢!
标签: csv fortran gfortran data-analysis fortran95