Rubyで配列をCSVに出力

Oluwafisayo Oluwatayo 2024年2月15日
  1. CSVとは
  2. RubyでCSV.openメソッドを使用してCSVファイルを作成する
  3. Ruby で File.write メソッドを使用して CSV ファイルを作成する
  4. Ruby を使用してターミナル内で CSV ファイルを生成する
  5. まとめ
Rubyで配列をCSVに出力

長い情報のリストを扱っている場合があり、読みやすいように整理する必要があります。 それが CSV がテーブルにもたらすものです。

CSVとは

CSV はカンマ区切り値を意味し、データをカンマで区切ってフォーマットすることを意味します。

このような出力形式により、データが表形式で適切に整理されるため、個人がそのようなデータを処理するときに、必要に応じて簡単に読み取ったり編集したりできます。

CSV データは、独自の .csv 形式またはより一般的な .txt ファイルのいずれかで保存できます。

Ruby フレームワークを使用して、配列内のデータから CSV ファイルを作成するさまざまな方法を見てみましょう。

RubyでCSV.openメソッドを使用してCSVファイルを作成する

この例では、CSV.open 関数を作成し、ファイルを配置するパスを入力します。 次に、CSVタグ内にCSV形式で整理したいデータの配列を入力します。

新しいファイルを作成し、new.rb という名前を付けて、次のコードを入力します。

require 'csv'
CSV.open("C:/Users/HP/Downloads/csv/outfield.txt", "w") do |csv|
  csv << ["one", "two", "three", "four"]
  csv << ["eight", "five"]
  # ...
end

このコードを実行すると、CSV.open ブラケットで指定したパスに作成された outfield.txt ファイルが表示されます。 次に、指定されたパス内にファイルを作成できるように、パスのすぐ横に "w" を追加したことがわかります。

csv 開く機能を使う

そこから "w" を削除すると、次のエラー メッセージが表示されます: 書き込み用に開かれていません (IOError)

Ruby で File.write メソッドを使用して CSV ファイルを作成する

この方法では、ファイルを作成するパスに "w" を追加する必要はありません。 これは、File.write がすぐに書き込み用のパスを開き、ファイルを作成するためです。

新しいファイルを作成し、new.rb という名前を付けて、次のコードを入力します。

tables = [["first", "second", "third"],["army", "marine", "navy", "blackops"], ["James", "Bond", "007"]]
require "csv"
File.write("C:/Users/HP/Downloads/csv/outfe.txt", tables.map(&:to_csv).join)

ここでは、tables タグ内に配列を作成しました。 次に、File.write() 関数内でファイルを作成する場所を指定しました。

次に、map 関数を使用して、tables 配列のデータを CSV 形式で返します。 このコードを実行すると、しばらくすると、指定したパスに新しいファイルが作成されます。

ファイル書き込み機能を使う

Ruby を使用してターミナル内で CSV ファイルを生成する

このメソッドは、CSV 形式のデータを含むファイルを作成しません。 代わりに、端末にデータを表示します。 これは、結果をすばやく使用したり、より快適な形式でデータを読み取りたい場合に最適です。

新しいファイルを作成し、new.rb という名前を付けてから、これらのコードを入力します。

require 'csv'
csv_string = CSV.generate do |csv|
  csv << ["google", "bing", "ask", "search"]
  csv << ["find", "seek"]
  # ...
end

CSV.generate 関数は csv 括弧内の配列を取り、CSV 形式でデータを生成します。 コードを実行すると、端末内に CSV 形式のデータが表示されます。

ターミナルを使用した文字列

まとめ

データをコンマで区切って明確に整理する CSV の機能により、長いデータ リストを一目で確認できます。

Oluwafisayo Oluwatayo avatar Oluwafisayo Oluwatayo avatar

Fisayo is a tech expert and enthusiast who loves to solve problems, seek new challenges and aim to spread the knowledge of what she has learned across the globe.

LinkedIn