
Ruby初心者中の初心者です。
以前、この場でとある処理を行うプログラムをご教授していただきました。
その際のデータ出力コードが以下のとおりです。
File.open(OUTPUT_FILE, 'w') do |f|
output_matrix.each do |row|
id = row.shift
f.puts id + "\s" + row.join("")
end
このコードですと、各行に、id+スペース+rowデータ というデータが出力されるのですが、
rowデータを20文字目から出力するようにしたいのです。
なお、idはすべておおよそ10文字程度です。
ご教授願います。

No.2ベストアンサー
- 回答日時:
No1です。
ちょっと汚いですが、これでいかがでしょうか。右によりすぎるなら、-20を-19にしてください。
-----------------------------------------------------
File.open(OUTPUT_FILE, 'w') do |f|
output_matrix.each do |row|
id = row.shift
f.printf("%-20s",id)
f.print row.join(""),"\n"
end
end

No.1
- 回答日時:
こういうことですか?
rowデータ(row.join("")の結果)を20文字目から出力(先頭は0文字目とします)
------------------------------------
File.open(OUTPUT_FILE, 'w') do |f|
output_matrix.each do |row|
id = row.shift
f.puts id + "\s" + row.join("")[20..-1]
end
end
ご回答ありがとうございます。
失礼しました。こちらの説明が悪かったです。
idの桁数が8桁だったり、9桁だったりでrowデータの開始位置ががたがたになってしまうので、それを揃えるためにrowデータの開始位置を20桁目(テキストデータにしたときのタブ位置と呼べばよいのでしょうか)にして出力したいのです。
お詳しい方にとってはとても簡単なことなのかもしれませんが、何卒ご教授のほどよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelマクロ 空白セルを無視し...
-
VBAで複数のCSVからレコードセ...
-
VBAでcsvファイルもシートもあ...
-
CSVで余計な空行が入る
-
EXCEL CSVにて保存するときのダ...
-
Pythonのコードエラーについて...
-
EXCEL→CSV保存時のダブルクォー...
-
IPアドレスのゼロパディング
-
【C#】 csvファイルをバイナリ...
-
CSVファイルの比較と結果の取得...
-
【ExcelVBA】300万件越えCSVか...
-
バッチ処理 特定の文字以降を...
-
Access VBA エラー2448について
-
fortranでNAのあるデータを読み...
-
INPUTタグ disabledの文字色を...
-
ASP.NET (VB) データのnull(空...
-
型の値をDataGridViewセルに変換...
-
バッチ for /f 空白、スペース...
-
ruby テキストファイル書き出し...
-
[コンパイルエラー 修飾子が不...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelマクロ 空白セルを無視し...
-
VBAでcsvファイルもシートもあ...
-
ダブルコーテーション付きでCSV...
-
【ExcelVBA】300万件越えCSVか...
-
ファイル名を変数で書きこむfwr...
-
VBAで複数のCSVからレコードセ...
-
CSVで余計な空行が入る
-
複数のファイルをまたぐエクセ...
-
VB.netでShellExecuteがしたい
-
LibreOffice Calcのマクロで、...
-
【C#】 csvファイルをバイナリ...
-
pythonでリストをCSVに出力する...
-
EXCEL→CSV保存時のダブルクォー...
-
PYthon Django csv関連
-
pythonについて質問です。 csv...
-
マクロで使うfor文
-
プログラムの間違いについて
-
Pythonのコードエラーについて...
-
Rubyを使用してcsvファイルを処...
-
CSVデータの文字列置換
おすすめ情報