• ベストアンサー

FORTRAN 行数の分からないテキストデータの読み込み

FORTRANで、テキストデータを読み込む際、読み込みたいデータの行数が あらかじめ分からない場合、どのように書けばいいのか分からずこまって おります。たとえば、データ数の行数が、 a、a1、a2・・・ b、b1、b2・・・ c、c1、c2・・・ d、d1、d2・・・ e、e1、e2・・・ などで、5行と分かっている場合は、 do=1,5 read(*,*)・・・ ・・・ と書けばいいことは分かるのですが…。 データの行数が予め分からなくても、すべてのデータを読み込ませる方法 (書き方)についてよろしければご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • joqr
  • ベストアンサー率18% (742/4026)
回答No.1

EOFまで読めば良いんです

mocco_4413
質問者

お礼

すぐの回答どうもありがとうございました。 EOFって???の状態でしたが、調べてみたら分かりました。 よいヒントがいただけて、問題も解決できたのでよかったです。 どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • fortranでテキストデータ読込できない。教えて下さい。

    fortran95(g95)を使用しています。 以下のようなテキストファイルを読み込みたいのですができません。 a.txtの中身 ------------------------- 0.000000 -11084.0 1.940757E-03 0.000000 -11059.6 6.324515E-04 0.000000 -11035.2 2.825573E-02 0.000000 -11010.7 1.419570E-03 -------------------------- ----と-----の間のデータです。 最初に空白が3つ 次に8桁の実数 次に空白が1つ 次に8桁の実数(マイナス記号含む) 次に空白が2つ 最後に12桁の実数(指数含む) となっています。    real :: z(3,4)   open(1,FILE='a.txt')   do j = 1, 4 read(1,1000,end=99)(z(k,j), k=1,3) enddo 99 continue close(1) 1000 format(F11.6,F9.1,E14.6) 上記のようなコードを作成しています。 do j = 1,4 write(*,*) (z(k,j),k=1,3) enddo 上記のように出力させると 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. となります。 よくわからない。 分かる方、教えて下さい。 お願いします。

  • fortranでテキストファイルを読み込む

    fortranでプログラムを作っています。 普通にテキストファイルの文字列を読み込むことくらいは出来ます。 そこで、質問です。 あるテキストファイルがあります。 これは行数が何行あるかわからないとします。 しかし、一行の形式はすべて同じです(例えば、3つの数字とか)。 そこで、ループでこのファイルをすべて読み込み、 行が無くなったらREADを終了する方法を知っている方がいたら教えて下さい。 ちなみにfortranは77もしくは95です。 わかりづらくて済みません。 よろしくお願いいたします。

  • テキストファイルのデータをエクセルへコピーのやり方

    よろしくお願いします。 エクセル2000を使っています。 テキストのデータで A1/B1/C1    /はスペースです。 D1/E1/F1    データの長さは全部違います。 A2/B2/C2     D2/E2/F2 A3/B3/C3     D3/E3/F3      ・    ・(続く) といったものがあります。これをエクセルで    A列 B列 C列 D列 E列 1行 A1 B1 C1 D1 E1 2行 A2 B2 C2 D2 E2  ・・・ 3行 A3 B3 C3 D3 E3  (続く)          ・          ・(続く) という感じで別々のセルにいれて貼り付けしたいのです。 テキストデータを別々のセルに貼り付けする方法は 過去ログで「区切り位置」というのをつかえばいいというのはわかりましたが、この場合の複数行にわたるテキストデータをエクセルの1行に貼り付けする方法がわかりません。また、データの長さが違うために「区切り位置」もうまくいきません。 良い解決法をお願いします。

  • fortran77で複数のファイルの読み込み

    fortran77で複数のファイルの読み込み 現在fortran77のプログラムを勉強しております。 ファイルが複数あり、すべてのファイルを読み込みたいのですが、ファイルの数がたくさんあるため、プログラムの行数が多くなってしまいます。 do ループで次々とファイルを開くプログラムを考えているのですが、思いつきません。 どなたか考え方でもいいので、教えてください。 ちなみに私が考えたプログラムは、 open(10,file='C:\FORTRAN\100.txt',status='old') open(11,file='C:\FORTRAN\121.txt',status='old') open(12,file='C:\FORTRAN\144.txt',status='old') open(13,file='C:\FORTRAN\169.txt',status='old') open(14,file='C:\FORTRAN\196.txt',status='old') open(15,file='C:\FORTRAN\225.txt',status='old') ・・・。 これを do ループで次々に開くことを考えると、 character*3 A(10) do 100 i=1,10 A=i*i open(i,file='C:\FORTRAN\A.txt',status='old') 100 continue ・・・ みたいな感じです。 ' 'の中の一部だけを変えたい場合のcharacter 文の使い方がいまいちよく分かりません。

  • fortranでファイルから数値を読み取ることについての質問です。

    fortranでファイルから数値を読み取ることについての質問です。 次のような内容のファイルから数値を読み取る場合: 1 2 3 4 5 6 7 8 9 これはdoループを使って do i=1,n read(1,*)a[3*(i-1)+1],a[3*(i-1)+2],a[3*(i-1)+3] end do として、行数をn=3と指定すれば読み取れますが、 行数を指定しなくてはabortします。 行数を指定せずに、最後のデータまで自動的に読むようにするには どうすれば良いでしょうか?

  • ファイルの読み込み

    a,b,c,d,e,f g,h,i,j,k,l のような1行に5つのデータがカンマで区切られ並んでいるテキストファイルがあります。(行数は決まっていません) これを読み込みリストビューに表示させたいのですが、うまくいきません。 誰かうまい方法を教えてください。

  • fortranのデータ読み込み

    fortranで下記の読み込みたいデータがあります。 j k R(j,k) L(j,k) 1 1 5 1 1 2 10 2 1 3 15 3 1 4 20 4 2 1 25 5 2 2 30 6 データが9000行あるので, do i=1,9000 read(10,*) j(i) k(i) enddo のような読み込み方だと配列が大きすぎてだめなんです。 他の方法を知っている方、教えていただけませんか。 よろしくお願いします。

  • データの組み換えについて

    エクセル2000についてです。 このような形式のデータがあります。 1、A、B 2、B、C、D 3、B、C、D、E これを以下のようにしたいのです。 A、1 B、1、2、3 C、2、3 D、2、3 E、3 行数は約200、データ数は1個~10個程度です。 うまく説明できているでしょうか?よろしくお願いします。

  • Fortranで1行飛ばして読み込む方法

    例えば次の内容が書かれているテキストファイル(data.txt)があるとします. ------------data.txt------------ time temperature 1.000E+00 5.632E+02 -------------------------------- このdata.txtに書いてある2行目の値をfortranを用いて読み込もうとすしたいのですが, fortranで open(100,file='data.txt') read(100,*) time, temperature と書くと, data.txtの1行目の'time temperature'の文字を読み込もうとし,当然エラーが出てしまいます. 読み込みたいのはdata.txtの2行目の数値のみなのですが, その方法がわかりません. 読み込む方法を教えていただけないでしょうか.

  • 秀丸で行数を行頭に挿入したい。

    秀丸の初心者です。 カンマ区切りのテキストファイルがあります。 各行の頭に、行数とカンマを挿入したいのですがどのようにすればよろしいでしょうか? a,b,c,d,e,,,, e,f,e,v,x,,,, ↓ 1,a,b,c,d,e,,,, 2,e,f,e,v,x,,,, テキストファイルをcsvに名前を変更してエクセルで開くと、カンマの数が変わっていたのでエクセルではなく秀丸で行いたいと考えています。 宜しくお願いします。

このQ&Aのポイント
  • 学校のテキストをPDF化する際、追加スキャンするたびにサイズの確認が必要で時間がかかることがあります。サイズの指定が最初からできると便利です。
  • 追加スキャンを行うと、スキャン結果が常に拡大する前の1枚目に戻ってしまいます。しかし、追加したページを確認したいというニーズはありませんか?拡大表示ではなく最後のページ表示が望ましいです。
  • ファックス機能が必要ない場合もあります。
回答を見る

専門家に質問してみよう