如何将Excel文件输出读入Fortran?

我有一个Excel表格,下面是股票图表的列表:

  1. 打开
  2. 平均日

如何使用Fortran从Excel文件中只提取“日均值”?

我是Fortran的新手,除了下面的链接外,还没有find任何可以帮助我的东西,但是由于我在寻找与链接不同的东西,所以我很难理解它:

http://en.wikibooks.org/wiki/Fortran/Fortran_simple_input_and_output

不,与其他答案相反,CSV不是最简单的文件。 转到文件/另存为/其他格式,并将其另存为格式化文本(空格分隔) 。 根据您的语言环境,您将使用逗号或句点作为小数点,所以您必须(使用外部编辑器进行简单的search/replace)或编写一个逐字符的Fortran子例程,并用句号replace每个逗号。

之后很容易,不; 要parsing,所以你只是

 program FreeFormat real(4), dimension(5) :: open, high, low, close, dayaverage real(4) :: average open(unit=1, file='filename.prn', status='old') do i=1,5 read(1,*)open(i), high(i), low(i), close(i), dayaverage(i) enddo average = sum(dayaverage)/5 write(*,'("Average is",f5.2)')average end program FreeFormat 

你明白了


这里有几个链接,让你开始(Excel / Fortran的DLL相关)…

在excel / fortran dll连接中文件位置的问题
Fortran DLL和MS Excel

Excel文件的本地二进制格式将很难parsing。 按照已经build议的将文件导出为文本或CSV。 CSV可能是最简单的。 你可能想要使用“列表定向的IO”,它有以下的源代码forms:

 read (unit-number, *) format-items 

Fortran列表控制的IO将读入列表中的variables“format-items”是一种非常灵活的方式。 文件中的项目应该用空格或逗号等分隔符分隔。 对于你的情况,有五个variables对应的五列,以达到你想要的第五个。 Fortran是以logging为导向的,所以你每行只读一行。

您将不得不阅读并parsingFortran中的Excel文件以获取所需的值。 如果你是新的语言,那么这可能是很难做到的。 也许把Excel工作表保存为CSV格式并parsing它更容易? 祝你好运!