質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
FORTRAN

FORTRAN(フォートラン)は科学時術計算に向いた手続き型プログラミング言語です。 並列計算の最適化が行いやすい特性上、数値予報および気候モデルなどの大規模な計算を行う分野のスーパーコンピュータで使われています。

Q&A

解決済

1回答

3899閲覧

Fortran CSVファイルを読み込んで配列に格納したい

Tubasa1995

総合スコア83

FORTRAN

FORTRAN(フォートラン)は科学時術計算に向いた手続き型プログラミング言語です。 並列計算の最適化が行いやすい特性上、数値予報および気候モデルなどの大規模な計算を行う分野のスーパーコンピュータで使われています。

0グッド

0クリップ

投稿2021/09/07 13:42

編集2021/09/07 13:49

これまでpythonの勉強しかしたことがないのですが、急遽fortranでファイルを書く必要が出てきまして、現在急ピッチでコードを作成していますが、あまり時間がないのでここで質問させてください。

例えば、1列100行のデータのCSVファイルを読み込んで、その値を配列に格納して、指定した配列の位置の値を取り出せるようにしたいのですが、これを教えてもらえますでしょうか。コード作成をぶん投げるような形になってしまい申し訳ありません。とりあえずネットで調べながら見様見真似でcsvファイルを読み込んで出力するまでのコードをつくりました。あとは、出力ではなく、配列に格納するという動作を追加すればいいだけだと思うのですが、調べてもピンポイントでヒットする内容が出てきませんでした。
単純に「write(,) pressure」を付け加えるだけでも良いのでしょうか?
その後、配列の1つ目を呼び出すためには「print *,pressure(1)」では間違いでしょうか?

Fortran

1program readSimpleCSV 2 implicit none 3 integer, parameter :: n = 100 4 real pressure 5 integer i 6 integer :: nx(100) 7 open (17, file='array.csv', status='old') 8 read (17, '()') ! ヘッダ行の読み飛ばし 9 do i = 1, n 10 read (17, *) pressure 11 print *, pressure 12 write(*,*) pressure 13 end do 14 close (17) 15end program readSimpleCSV

今csvファイルはこのようになってます。

pressure 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

program readSimpleCSV
implicit none
integer, parameter :: n = 100
real pressure
integer i
real :: nx(100)
open (17, file='array.csv', status='old')
read (17, '()') ! ヘッダ行の読み飛ばし
do i = 1, n
read (17, *) pressure
nx(i) = pressure !配列のi番目にcsvファイルのi番目を格納
end do
print *,nx(100) !出力したい配列要素
close (17)
end program readSimpleCSV

投稿2021/09/07 14:34

Tubasa1995

総合スコア83

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問