extcsv 0.12.3 → 0.12.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +1 -1
- data/gemspec +1 -1
- data/lib/extcsv.rb +4 -4
- data/lib/extcsv_diagram.rb +1 -1
- data/test/test_extcsv.rb +2 -12
- data/test/test_extcsv_diagram.rb +12 -36
- metadata +22 -24
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8481302a2791dcfde67455ac5c5caa0f4fcd885e
|
4
|
+
data.tar.gz: c5f36f0d41ae84806444d0e5e05b435c8b041b6c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 81375361f68acd261b6712ebd3a53e60aa4b619fae3033466a8ff59906d9f55ce94b708131ac045908289ff3e819f8963a76b950ba80706eccd3402a1c446d41
|
7
|
+
data.tar.gz: 750cc4cf43f319d4799383a9b56489b2655ab71e398f248fb661b6f750997fc96ed596e774f5f1e3e8154f889fa8c4f67346393aa741d1e4ba92c5ef27e3c529
|
data/LICENSE
CHANGED
data/gemspec
CHANGED
data/lib/extcsv.rb
CHANGED
@@ -573,16 +573,16 @@ class ExtCsv < OpenStruct
|
|
573
573
|
end
|
574
574
|
|
575
575
|
# String output. See ExtCsvExporter.to_string
|
576
|
-
def to_string(stype,sort=true)
|
577
|
-
header = sort ? datacolumns.sort : datacolumns
|
576
|
+
def to_string(stype,header=nil,sort=true)
|
577
|
+
header = sort ? datacolumns.sort : datacolumns if header.nil?
|
578
578
|
ExtCsvExporter.new("extcsv",
|
579
579
|
([header] +
|
580
580
|
datasets(*header)).transpose
|
581
581
|
).to_string(stype)
|
582
582
|
end
|
583
|
-
def to_file(filename, filetype="txt")
|
583
|
+
def to_file(filename, filetype="txt", columns)
|
584
584
|
File.open(filename,"w") do |f|
|
585
|
-
f << to_string(filetype)
|
585
|
+
f << to_string(filetype,columns)
|
586
586
|
end
|
587
587
|
end
|
588
588
|
|
data/lib/extcsv_diagram.rb
CHANGED
@@ -167,7 +167,7 @@ module ExtCsvDiagram
|
|
167
167
|
colors = []
|
168
168
|
step = (@@ColorUp - @@ColorLow)/(nColors-1)
|
169
169
|
nColors.times {|i| colors << "#"+(@@ColorLow + i*step).to_s(16)}
|
170
|
-
|
170
|
+
colors
|
171
171
|
end
|
172
172
|
|
173
173
|
def ExtCsvDiagram.addDataToPlot(plot,obj,xColumn,yColumn,groupBy,options)
|
data/test/test_extcsv.rb
CHANGED
@@ -38,20 +38,10 @@ class TestExtCsv < Test::Unit::TestCase
|
|
38
38
|
test_simple = ExtCsv.new(IMPORT_TYPE,"ssv",ERG_CSV_DATA)
|
39
39
|
end
|
40
40
|
def test_create_bsv
|
41
|
-
test_bsv = ExtCsv.new(IMPORT_TYPE,"bsv","
|
41
|
+
test_bsv = ExtCsv.new(IMPORT_TYPE,"bsv",TEST_DATA_DIR + "bsv.txt")
|
42
42
|
assert_equal([1,5,11,55].map(&:to_s),test_bsv.a)
|
43
43
|
assert_equal(4,test_bsv.datacolumns.size)
|
44
44
|
assert_equal("d",test_bsv.datacolumns[-1])
|
45
|
-
if 'thingol' == `hostname`.chomp
|
46
|
-
cmt = ExtCsv.new(IMPORT_TYPE,"bsv","/home/ram/tmp/gmt/jp_00.cmt")
|
47
|
-
pp cmt.size
|
48
|
-
cmt_ = cmt.selectBy(:lon => "> 140",:lat => "> 30")
|
49
|
-
pp cmt_.sizea
|
50
|
-
filename = "bsv_from_bsv.txt"
|
51
|
-
cmt_.to_file(filename)
|
52
|
-
cmtFromCsv = ExtCsv.new(IMPORT_TYPE,"bsv",filename)
|
53
|
-
cmtFromCsv.datacolumns.each {|col| assert_equal(cmtFromCsv.send(col),cmt_.send(col)) }
|
54
|
-
end
|
55
45
|
end
|
56
46
|
def test_create_by_hash
|
57
47
|
simple = ExtCsv.new("hash","txt",{:col1 => ["80.0"],:col2 => ["625.0"]})
|
@@ -268,7 +258,7 @@ class TestExtCsv < Test::Unit::TestCase
|
|
268
258
|
def test_operate
|
269
259
|
simple = ExtCsv.new(IMPORT_TYPE,"txt",TEST_DATA)
|
270
260
|
simple_operated = simple.operate_on(:col1,"* 10")
|
271
|
-
|
261
|
+
assert(simple.col1 != simple_operated.col1, "unexpected equality")
|
272
262
|
thiscol1 = 80.0
|
273
263
|
col1s = simple.col1.dup
|
274
264
|
simple_op_with_ifclause = simple.operate_on(:col1, '* 10 if self.col1[i].to_f == ' + thiscol1.to_s)
|
data/test/test_extcsv_diagram.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
$:.unshift File.join(File.dirname(__FILE__),"..","lib")
|
2
|
-
require '
|
2
|
+
require 'minitest/autorun'
|
3
3
|
require 'extcsv'
|
4
4
|
require 'extcsv_diagram'
|
5
5
|
require 'pp'
|
@@ -7,7 +7,7 @@ require 'pp'
|
|
7
7
|
################################################################################
|
8
8
|
# Author:: Ralf M�ller
|
9
9
|
################################################################################
|
10
|
-
class TestExtCsvDisplay < Test
|
10
|
+
class TestExtCsvDisplay < Minitest::Test
|
11
11
|
include ExtCsvDiagram
|
12
12
|
|
13
13
|
TEST_DIR = "test"
|
@@ -15,17 +15,6 @@ class TestExtCsvDisplay < Test::Unit::TestCase
|
|
15
15
|
TEST_DATA_NEW = TEST_DIR + "/data/file01.txt"
|
16
16
|
DATALOGGER_DATA = TEST_DIR + ""
|
17
17
|
IMPORT_TYPE = "file"
|
18
|
-
ICON = "/home/ram/src/git/icon/experiments/xom.r8563.tsrel_R2B02_linDesity/xomFldminT.dat"
|
19
|
-
ICON = "/home/ram/src/git/icon/experiments/xom.r8563.tsrel_R2B02_200mThickness/xomFldmin.dat"
|
20
|
-
ICON = "/home/ram/src/git/icon/experiments/xom.r8563.tsrel_R2B02_500mThickness/xomFldmin.dat"
|
21
|
-
ICON = "/home/ram/src/git/icon/experiments/xom.r8563.tsrel_R2B02/xomFldmaxVert_Mixing_V.dat"
|
22
|
-
ICON = "/home/ram/src/git/icon/experiments/xom.r8563.tsrel_R2B02_200mThickness/xomFldmaxVert_Mixing_V.dat"
|
23
|
-
ICON = "/home/ram/src/git/icon/experiments/xom.r8563.tsrel_R2B02_500mThickness/xomFldmaxVert_Mixing_V.dat"
|
24
|
-
ICON = "/home/ram/src/git/icon/experiments/xom.r8563.tsrel_R2B02_dev/xomFldmaxVert_Mixing_V.dat"
|
25
|
-
ICON = "/home/ram/src/git/icon/experiments/xom.r8563.tsrel_R2B02_dev/xomFldmaxT.dat"
|
26
|
-
VAR = "Vert_Mixing_Vel"
|
27
|
-
VAR = "Vert_Mixing_V"
|
28
|
-
VAR = "T"
|
29
18
|
|
30
19
|
def test_simple
|
31
20
|
f=ExtCsv.new("file","txt",TEST_DATA)
|
@@ -34,34 +23,21 @@ class TestExtCsvDisplay < Test::Unit::TestCase
|
|
34
23
|
def test_colors
|
35
24
|
pp ExtCsvDiagram.colors(21)
|
36
25
|
end
|
37
|
-
def _test_icon
|
38
|
-
icon = ExtCsv.new(IMPORT_TYPE,"psv",ICON)
|
39
|
-
|
40
|
-
icon.datetime = []
|
41
|
-
icon.date.each_with_index{|date,i| icon.datetime << [date,icon.time[i]].join(' ') }
|
42
|
-
|
43
|
-
puts "SIZE: #{icon.size}"
|
44
|
-
[:date,:time,:depth,VAR.downcase.to_sym].each {|col| puts [col.to_s,icon.send(col).max].join('[max]: ') }
|
45
|
-
ExtCsvDiagram.plot_xy(icon,"datetime",VAR.downcase,'ICON OCE_BASE: Mean. Temperatur (uneven levels, r8656, full run: 2001-2012)',
|
46
|
-
:label_position => 'below',:skipColumnCheck => true,
|
47
|
-
:type => 'lines',:groupBy => ["depth"],
|
48
|
-
# :yrange => '[0.0001:10]',
|
49
|
-
# :xrange => "",
|
50
|
-
:onlyGroupTitle => true,
|
51
|
-
# :addSettings => ["logscale y"],
|
52
|
-
# :terminal => "png",
|
53
|
-
:ylabel => "#{VAR} [degC]",
|
54
|
-
:input_time_format => "'%Y%m%d %H:%M:%S'",
|
55
|
-
:filename => "icon-OCE_BASE_uneven-r8656-fullrun-Mean#{VAR}",
|
56
|
-
:output_time_format => "'%m.%y'",:size => "800,600")
|
57
|
-
|
58
|
-
end
|
59
26
|
def test_plotxy
|
60
27
|
f = ExtCsv.new(IMPORT_TYPE,"txt",TEST_DATA)
|
61
28
|
ExtCsvDiagram.plot_xy(f,"step","col5",'test',
|
62
29
|
:label_position => 'outside',
|
63
30
|
:groupBy => [:col4],
|
64
31
|
:type => 'lines')
|
32
|
+
f = ExtCsv.new('file',"txt","#{ENV['HOME']}/data/icon/oce.txt")
|
33
|
+
|
34
|
+
assert(f.size > 0,'no data in input or file missing!')
|
35
|
+
f.add(:datetime,[f.date,f.time].transpose.map {|v| v.join(' ')})
|
36
|
+
pp f.datetime
|
37
|
+
ExtCsvDiagram.plot_xy(f.selectBy(:level => 3000),'datetime',
|
38
|
+
'temp','icon text input',
|
39
|
+
:input_time_format => "'%Y-%m-%d %H:%M:%S'",
|
40
|
+
:output_time_format => "'%d.%m'")
|
65
41
|
end
|
66
42
|
def test_gnuplot
|
67
43
|
test_file = TEST_DATA
|
@@ -70,7 +46,7 @@ class TestExtCsvDisplay < Test::Unit::TestCase
|
|
70
46
|
qpol_drift = ExtCsv.new(IMPORT_TYPE,"txt",drift_test_file)
|
71
47
|
|
72
48
|
f = qpol.selectBy(:col4 => /(5|4)/)
|
73
|
-
|
49
|
+
assert(0 < f.size,'Fount sero data!')
|
74
50
|
ExtCsvDiagram.plot(f,["col4"],"col1",
|
75
51
|
["col5"],nil,[],'',
|
76
52
|
:graph_title => "SIZEMODE",
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: extcsv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
5
|
-
prerelease:
|
4
|
+
version: 0.12.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Ralf Mueller
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2016-03-02 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description:
|
15
14
|
email: stark.dreamdetective@gmail.com
|
@@ -17,57 +16,56 @@ executables: []
|
|
17
16
|
extensions: []
|
18
17
|
extra_rdoc_files: []
|
19
18
|
files:
|
19
|
+
- LICENSE
|
20
|
+
- gemspec
|
20
21
|
- lib/extcsv.rb
|
21
|
-
- lib/lsmodel.rb
|
22
22
|
- lib/extcsv_diagram.rb
|
23
|
+
- lib/lsmodel.rb
|
23
24
|
- rakefile
|
24
|
-
- gemspec
|
25
|
-
- LICENSE
|
26
|
-
- test/test_lsmodel.rb
|
27
|
-
- test/test_extcsv.rb
|
28
|
-
- test/test_extcsv_diagram.rb
|
29
|
-
- test/data/file04.csv
|
30
|
-
- test/data/file05.csv
|
31
25
|
- test/data/bsv.txt
|
32
|
-
- test/data/file02.txt
|
33
26
|
- test/data/file00.txt
|
34
|
-
- test/data/file03.txt
|
35
27
|
- test/data/file01.txt
|
28
|
+
- test/data/file02.txt
|
29
|
+
- test/data/file03.txt
|
30
|
+
- test/data/file04.csv
|
31
|
+
- test/data/file05.csv
|
36
32
|
- test/data/german.txt
|
33
|
+
- test/test_extcsv.rb
|
34
|
+
- test/test_extcsv_diagram.rb
|
35
|
+
- test/test_lsmodel.rb
|
37
36
|
homepage: http://extcsv.rubyforge.org
|
38
37
|
licenses: []
|
38
|
+
metadata: {}
|
39
39
|
post_install_message:
|
40
40
|
rdoc_options: []
|
41
41
|
require_paths:
|
42
42
|
- lib
|
43
43
|
required_ruby_version: !ruby/object:Gem::Requirement
|
44
|
-
none: false
|
45
44
|
requirements:
|
46
|
-
- -
|
45
|
+
- - ">="
|
47
46
|
- !ruby/object:Gem::Version
|
48
47
|
version: '0'
|
49
48
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
49
|
requirements:
|
52
|
-
- -
|
50
|
+
- - ">="
|
53
51
|
- !ruby/object:Gem::Version
|
54
52
|
version: '0'
|
55
53
|
requirements: []
|
56
54
|
rubyforge_project: extcsv
|
57
|
-
rubygems_version:
|
55
|
+
rubygems_version: 2.5.1
|
58
56
|
signing_key:
|
59
|
-
specification_version:
|
60
|
-
summary:
|
57
|
+
specification_version: 4
|
58
|
+
summary: 'Let CSV-like files behave like DB-tables: selection, data operations on
|
61
59
|
columns. Easy plotting with gnuplot and modelling'
|
62
60
|
test_files:
|
63
61
|
- test/test_lsmodel.rb
|
64
62
|
- test/test_extcsv.rb
|
65
63
|
- test/test_extcsv_diagram.rb
|
66
|
-
- test/data/file04.csv
|
67
64
|
- test/data/file05.csv
|
68
|
-
- test/data/
|
69
|
-
- test/data/file02.txt
|
65
|
+
- test/data/file04.csv
|
70
66
|
- test/data/file00.txt
|
71
|
-
- test/data/file03.txt
|
72
67
|
- test/data/file01.txt
|
68
|
+
- test/data/file03.txt
|
73
69
|
- test/data/german.txt
|
70
|
+
- test/data/file02.txt
|
71
|
+
- test/data/bsv.txt
|