使用Ruby格式化使用table print gem

时间:2013-11-24 01:30:57

标签: ruby json date-formatting

我的Json文件的输出是哈希。我迭代每一行并使用tp gem对其进行格式化。我的问题是如何格式化宽度,以便我的所有数据都整齐地显示在终端中。

我认为由于哈希中的数组,它不能整齐地格式化。

 File.open("output.json", 'a+') do |file|
      1       data = { time_format: time_format, purchase: @purchase, quantity: @quantity, retail_price: @retail_price, purchasing_price: @purchasing_price }
      0       file.puts data.to_json                                                                                                                                         
      1     end  
transaction = File.open('output.json', 'a+').each do |line| 
           @transaction = JSON.parse(line)  
           if @transaction["time_format"].include?(review_date) 

           end     
         end       
         tp report



TIME_FORMAT      | PURCHASE | QUANTITY | RETAIL_PRICE | PURCHASING_PRICE
-----------------|----------|----------|--------------|-----------------
11/23/2013 08:07 | ["lig... | [1]      | [5.0]        | [3.0]           
11/23/2013 08:08 | ["lig... | [1]      | [5.0]        | [3.0]           
11/23/2013 08:08 | ["lig... | [1, 1... | [5.0, 7.5... | [3.0, 4.0, 5....
11/23/2013 08:12 | ["lig... | [1]      | [5.0]        | [3.0]           
11/23/2013 08:13 | ["lig... | [1]      | [5.0]        | [3.0]           
11/23/2013 08:18 | ["lig... | [1]      | [5.0]        | [3.0]           

编辑:宝石名为Table Print

1 个答案:

答案 0 :(得分:0)

有几种方法可以更改列宽。

一次更改所有列:

tp.set :max_width, 60

要更改单个列,请照常打印,但提供一些列选项:

tp report, :include => [:purchase => {:width => 60}]