Sha256: f788ccdcd21c9c984f3e7e2ba7b3ee5f83b179700d7903cbfa39c77daaa1a24e

Contents?: true

Size: 817 Bytes

Versions: 76

Compression:

Stored size: 817 Bytes

Contents

#!/usr/bin/env ruby

require "csv"
$LOAD_PATH << "#{__dir__}/../lib"
require "terminal-table"

#
# Usage:
#   ./show_csv_table.rb data.csv
#   cat data.csv | ./show_csv_table.rb
#   cat data.csv | ./show_csv_table.rb -
#
#
# Reads a CSV from $stdin if no argument given, or argument is '-'
# otherwise interprets first cmdline argument as the CSV filename
#
use_stdin = ARGV[0].nil? || (ARGV[0] == '-')
io_object = use_stdin ? $stdin : File.open(ARGV[0], 'r')
csv = CSV.new(io_object)

#
# Convert to an array for use w/ terminal-table
# The assumption is that this is a pretty small spreadsheet.
#
csv_array = csv.to_a

user_table = Terminal::Table.new do |v|
  v.style = { :border => :unicode_round } # >= v3.0.0
  v.title = "Some Title"
  v.headings = csv_array[0]
  v.rows = csv_array[1..-1]
end

puts user_table

Version data entries

76 entries across 76 versions & 3 rubygems

Version Path
terminal-table-4.0.0 examples/show_csv_table.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-2.8.1 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.2.10 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.2.9 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.2.8 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.2.7 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.2.6 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.2.5 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.2.4 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.2.3 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.2.2 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.2.1 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.2.0 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.1.99 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.1.98 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.1.97 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.1.96 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.1.95 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb
harbr-0.1.94 vendor/bundle/ruby/3.2.0/gems/terminal-table-3.0.2/examples/show_csv_table.rb