作者maylin7907 (林美環)
看板Fortran
標題[問題] 關於大量讀寫程式的問題
時間Mon Mar 4 17:46:10 2013
各位前輩您好
我有先爬過文但是無奈資質不好實在是有看沒有懂..
關於大量OPEN檔和READ檔以及WRITE的部分
我明白這裡所有的檔都能夠一個一個開啟
但是資料過於大量 將近一萬筆左右
能否有更有效率的方式去撰寫FORTRAN程式
其中能否假設一個DO迴圈
使得文件檔READ完,WRITE出來後
再讓他自動READ類似檔名再依序WRITE?
例如我有5.1.txt,5.2.txt,5.3.txt
6.1.txt,6.2.txt,6.3.txt 這六個檔案
能不能設定一個迴圈
READ 5.1.txt和6.1.txt後
輸出到7.1.txt
然後再依序READ 5.2.txt和6.2.txt
輸出到7.2.txt
這樣的方法可行嗎?
我看前面的文章有稍微設定過 但是怎麼設定都錯....
謝謝各位前輩
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.13.138.85
1F:→ jubilee2:雙層迴圈? 03/04 19:31
2F:→ blc:重點是怎麼樣把你要讀/寫的檔名用迴圈生出來。 03/05 10:24
3F:→ maylin7907:能請各位稍微指點我一下嗎?關於設定出迴圈的 感激不盡 03/05 11:14
4F:→ kkarthur:DO I=1,3 03/05 14:27
5F:→ kkarthur:WRITE(AA,"(A2,I1,A4)") "5.",I,".txt" 03/05 14:28
6F:推 wtula:其實你想知道的是數字變檔名 請查閱 internal file內部檔 03/05 14:28
7F:→ kkarthur:OPEN(UNIT=11,FILE=AA) 03/05 14:28
8F:→ kkarthur:WRITE(AA,"(A2,I1,A4)") "6.",I,".txt" 03/05 14:29
9F:→ kkarthur:OPEN(UNIT=11,FILE=AA) 03/05 14:29
10F:→ kkarthur:WRITE(AA,"(A2,I1,A4)") "7.",I,".txt" 03/05 14:29
11F:→ kkarthur:OPEN(UNIT=11,FILE=AA) 03/05 14:29
12F:→ kkarthur:END DO 03/05 14:30
13F:→ kkarthur:前面UNIT記得要換, 貼太快打錯 03/05 14:30
14F:→ maylin7907:所以OPEN是UNIT=11 12 13這樣嗎? 03/05 15:17
15F:→ kkarthur:然後開完之後還要再CLOSE(11) 03/05 16:11
16F:→ maylin7907:每個開完都要關掉的意思嗎? 03/05 16:16
17F:→ maylin7907:那就是我今天有三個TXT檔 要CLOSE(11) CLOSE(12) 03/05 16:17
18F:→ maylin7907:CLOSE(13) 對嗎? 03/05 16:17
19F:→ kkarthur:對.. 03/05 16:28
20F:→ maylin7907:kkarthur前輩 太感謝你了! 03/05 16:34
21F:→ maylin7907:最後再請問一個問題 AA是應該定義在哪裡? 03/05 17:27
22F:→ maylin7907:我定義在INTEGER中是失敗的 很謝謝你的講解 太感謝了 03/05 17:28
23F:→ maylin7907:我設定好了 但是在跑動的時候出現程序無法儲存檔案 03/05 18:19
24F:→ maylin7907:請問這大概是什麼因素造成的呢? 03/05 18:19
25F:→ kkarthur:AA是字串 CHARACTER(LEN=30) 03/05 19:27
26F:→ kkarthur:檔案開完之後,請"使用"完再關掉 03/05 19:29
27F:→ maylin7907:所以有可能是因為我沒有關閉造成的問題 了解了 03/05 21:44
28F:→ maylin7907:我找出問題了 原來是設定格式的問題 03/06 11:17
29F:→ maylin7907:可以請問"(A2,I1,A4)"是什麼意思嗎? 03/06 11:17
30F:推 terryys:這是輸出/入格式,Ax是x個字元的字串,Ix是x位整數 03/06 11:34
31F:→ maylin7907:我發完文以後有去查到了 謝謝您的講解 03/06 13:29