こんばんは。
最近Rubyでファイルのスクローリングをしているのですが、
以下のようなスクリプトを全てのファイルに適用したいと考えています。
1 fpath = '/home/edinet/E30479/S1002D1W/index.html'
2
3 text = ""
4
5
6 File.open(fpath).each do |f|
7 f.each_line do |line|
8
9 line.gsub!(/前事業年度特定投資株式/,"前事業年度")
10 line.gsub!(/当事業年度特定投資株式/,"当事業年度")
11
12 end
13 end
14
15
16 flag = nil
17 IO.foreach(fpath) do |line2|
18
19 case line2
20 when /保有目的が純投資目的以外/
21 flag = true
22 when /保有目的が純投資目的/
23 flag = false
24 end
25
26 text << line2.chomp if flag == true
27 end
Dir.globなどを使えば良いと思うのですが、具体的にはどのように記述すればよいのでしょうか?
ご教授の程お願い致します。
No.2ベストアンサー
- 回答日時:
あと、このプログラム、なんか変ですよ?
File.open(fpath).each
ここのeachって変ですよね。
f.each_line do |line|
line.gsub!(/前事業年度特定投資株式/,"前事業年度")
ここでの 変数lineに入っているのは、「ファイルから読み込んだ文字列」です。
ファイルの内容をメモリ上にコピーしたものです。
これを変更しても、元のファイルは変更されません。
また、一行読み込む度に次の行の内容になるので、gsubした結果はどこにも残りません。
No.1
- 回答日時:
> Dir.globなどを使えば良いと思うのですが
そう思ったら、マニュアルとかで調べてみましょう。
http://docs.ruby-lang.org/ja/2.1.0/class/Dir.htm …
ディレクトリを再帰的に走査するUnixのコマンドがあります。
「 find 」と言います。
このことを知っていれば、Rubyにも同じようなものは無いか、探してみようと思うはずです。
http://docs.ruby-lang.org/ja/2.1.0/library/find. …
これらを使って見つけたファイル`パスをfpathに代入して、実行するようにします。
このスクリプト全体をループの中に入れてもいいですが、このスクリプトを関数として定義して、fpathは引数として与えるようにするのがよいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/07/13 12:31
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
- その他(プログラミング・Web制作) pythonのDjangoでHTML内で変数を利用したいです 3 2022/05/15 15:33
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- Excel(エクセル) エクセル2019でPDFファイル名に枝番号をつけたい。 アクティブワークシートを印刷した後の処理とし 4 2023/06/06 21:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) excel VBA if文について 3 2022/03/27 17:42
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- 確定申告 《ふるさと納税について質問です》前回質問の訂正と追記 4 2022/09/16 20:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Rubyにおける、XPathの関数「te...
-
バッチ処理 特定の文字以降を...
-
VBA テキストボックスを選択状...
-
Excelマクロ 空白セルを無視し...
-
【ExcelVBA】300万件越えCSVか...
-
パイソンでテキストファイルが...
-
ファイル名を変数で書きこむfwr...
-
fortranでNAのあるデータを読み...
-
シート内容の文字列を置換してV...
-
teratermで、ファイル名をinput...
-
Fortran:列数の分からないデー...
-
C# ファイルを読み込みlistvie...
-
アスキー変換 と 逆変換について
-
java CSVファイルの読み込みに...
-
INPUTタグ disabledの文字色を...
-
EXCEL→CSV保存時のダブルクォー...
-
ダブルコーテーション付きでCSV...
-
CSVデータの文字列置換
-
FileListBoxで出すものを絞り込...
-
pythonでの\\記号の使い方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「&」 「<<」 「|」 につ...
-
バッチ処理 特定の文字以降を...
-
Excelマクロ 空白セルを無視し...
-
【ExcelVBA】300万件越えCSVか...
-
VBAでcsvファイルもシートもあ...
-
ダブルコーテーション付きでCSV...
-
[コンパイルエラー 修飾子が不...
-
VBA テキストボックスを選択状...
-
Access VBA エラー2448について
-
INPUTタグ disabledの文字色を...
-
EXCEL→CSV保存時のダブルクォー...
-
teratermで、ファイル名をinput...
-
パイソンでテキストファイルが...
-
VB.netでShellExecuteがしたい
-
VBAで複数のCSVからレコードセ...
-
StringGridの中身をCSV形式で保...
-
fortranでNAのあるデータを読み...
-
CSVで余計な空行が入る
-
複数のファイルをまたぐエクセ...
-
Fortran:列数の分からないデー...
おすすめ情報