我有一個Excel表與用於股票圖表以下幾列:如何將Excel文件輸出讀入Fortran?
- 打開
- 高
- 低
- 關閉
- 日平均
如何使用Fortran僅從Excel文件中提取「日均值」?
我是Fortran的新手,除了下面的鏈接,還沒有找到任何可以幫助的東西,但是由於我在尋找不同於鏈接顯示給我的東西,所以我很難理解它:
http://en.wikibooks.org/wiki/Fortran/Fortran_simple_input_and_output
我有一個Excel表與用於股票圖表以下幾列:如何將Excel文件輸出讀入Fortran?
如何使用Fortran僅從Excel文件中提取「日均值」?
我是Fortran的新手,除了下面的鏈接,還沒有找到任何可以幫助的東西,但是由於我在尋找不同於鏈接顯示給我的東西,所以我很難理解它:
http://en.wikibooks.org/wiki/Fortran/Fortran_simple_input_and_output
不,與其他答案相反CSV不是最簡單的文件。轉到文件/另存爲/其他格式並將其另存爲格式的文本(空格分隔)。根據您的語言環境,您將使用逗號或句號作爲小數點,因此您必須(使用外部編輯器進行簡單的搜索/替換)或編寫逐字符的Fortran子例程,並用句號替換每個逗號。
後,它很容易,沒有;
的解析,所以你只要
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相關)...
Trouble with file location in excel/fortran dll connection
Fortran DLL & MS Excel
在最新的Fortran規範中(可能在2003版本中),還有一個關於如何使用處理器的解釋, 要麼 。對於小數點分隔符,所以你建議的子程序可能是不必要的。我沒有規範,所以不能直接指向它。 – 2012-03-04 11:43:28
@HighPerformanceMark - 你是對的!好決定。我以前聽說過它,但從來沒有用過它,所以通常不會去想它。 – Rook 2012-03-04 18:31:51
讓我試試你給的代碼。 – AGilchrist 2012-03-04 21:00:51
你必須閱讀和分析Fortran中的Excel文件來得到你想要的值。如果你是新手,那麼這可能很難做到。也許更容易將Excel工作表保存爲CSV格式並解析它?祝你好運!
Excel文件的本地二進制格式將很難解析。如已經建議的那樣將文件導出爲文本或CSV。 CSV可能是最簡單的。你可能想使用「列表執導IO」,它具有源代碼形式:
read (unit-number, *) format-items
Fortran的表式IO將讀取到列表中的變量「格式項」是一個非常靈活的方式。文件中的項目應該用空格或逗號等分隔符分隔。對於你的情況,有五個變量對應五列,以達到你想要的第五個。 Fortran是以記錄爲導向的,所以你可以每行讀一行。
將excel中的數據保存爲csv文件(逗號或任何其他符號分隔)並用Fortran讀取 – Cheery 2012-03-04 02:53:35