txtファイルのデータから特定の数値データ(複数)のみを抽出するプログラムを作成しようとしています。
txtファイルのデータのは何万行で構成されており、その中の一部分を下記に記します。
======================================================
Red. masses -- 1.1312 1.2004 1.0733
Frequencies -- 556.4850 617.2621 630.2286
Red. masses -- 1.1312 1.2004 1.0733
Frequencies -- 671.2069 731.7863 782.8863
======================================================
上記でしめすうち、Frequenciesで始まる行の数値データのみを抽出したいのですが、どうすればいいでしょうか?ヒントだけでもいただければと思います。
私はVisualBasic初めてのプログラミングVol.1を読んだのですがこれだけでは作れませんでした。読んだほうがいい本なども紹介いただけるとありがたいです。お願いします。
ぱっと見ファイルの出力時の形式?
おそらくランダムの構造体等のレイアウト?
出力時のレイアウトがわかれば構造体とサイズを修正して
読み出し。文字列の列?項目がFrequenciesの場合を判定すれば
できると思いますが。。解りますか?
返信ありがとうございます。ですが、勉強不足によりあまり分かりません。細かく教えてもらえますか?
openでファイルを開きますよね。
Line Input で読んで
そして○○で始まるっていうのは、
Leftで。。。
ファイルが固定長なら数値を取得は、 ←ここが一番の問題。
Midで。。。
まずFrequenciesではじめる行を検索して、その行の数字をひとつずつ改行をはさんでそれをOutputとしたいと思っています。上の例でいうと
======================================================
556.4850
617.2621
630.2286
671.2069
731.7863
782.8863
======================================================
がOutputとなるように・・・
そういうことは可能でしょうか?
皆さんありがとうございます!
まず、なおさんはファイルのデータを読み出す事は出来ていますか?
例えば多分さんの言ってらしてるようなLine Input等で↓
Red. masses -- 1.1312 1.2004 1.0733
↑1件目のレコードを文字列に読み出す。。
といった具合に
返事が遅れました!すみません(^^;)読み出すことはできているんですが(フルパスを指定してファイルを読み出してます)そこから次の作業をどうしようか悩んでます。今はちょうどメモ帳のようなものができてます。
もう少し説明すると
openで書き出すファイルを開く
openで読み込むファイルを開く
繰り返し始まり
読み込むファイルを一行読む
↑で読んだ文字列をLEFT関数を使用して。Frequenciesと比較
↑Frequenciesなら書く出すファイルに書く
比較終了
繰り返し終了
読み込むファイルを閉じる
書き出すファイルを閉じる
てな感じかな。。。
今は読み込むファイルのオープン成功?
ですか?
有難うございます!!ちょっとこれからトライしてみます☆またわからなくなったらよろしくお願いします。
解決できました
ツイート | ![]() |