yomise 0.1.4 → 0.1.5
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 +4 -4
- data/Gemfile.lock +64 -0
- data/lib/to_csv.rb +43 -4
- data/lib/yomise/version.rb +1 -1
- data/yomise-0.1.4.gem +0 -0
- metadata +4 -3
- data/yomise.gemspec +0 -46
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 167dac4985ed0f0a5bd62bcd94d69ef0bc1950737144d338d0e8be87d87b8ae0
|
|
4
|
+
data.tar.gz: 254f27cb8a67f6f7c72465179c4c333da5fa61d060078e383b9d10dbb7dd55ba
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 025d5f00493422f86e8a39db4bf72e3c0ff9fe5631f75cde381e555ac79419f80a687145d93c2148e9980ba1864ad3394690326ae24c411a887951b4cc9875a6
|
|
7
|
+
data.tar.gz: 3ffb2fe342adb7b39869f830574e641ad9524076b41b6190d863652abd8f16763ccfd5eab97e5fda4aa92713a92a7d0cfdc35663b666b3e311e137daa246d778
|
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
yomise (0.1.5)
|
|
5
|
+
daru (>= 0.3)
|
|
6
|
+
matrix
|
|
7
|
+
roo-xls (>= 1.2.0)
|
|
8
|
+
rover-df (>= 0.2.7)
|
|
9
|
+
smarter_csv (>= 1.4.2)
|
|
10
|
+
spreadsheet (>= 1.3.0)
|
|
11
|
+
|
|
12
|
+
GEM
|
|
13
|
+
remote: https://rubygems.org/
|
|
14
|
+
specs:
|
|
15
|
+
bigdecimal (4.1.2)
|
|
16
|
+
daru (0.3)
|
|
17
|
+
packable (~> 1.3.13)
|
|
18
|
+
diff-lcs (1.6.2)
|
|
19
|
+
matrix (0.4.2)
|
|
20
|
+
nokogiri (1.19.0-x64-mingw-ucrt)
|
|
21
|
+
racc (~> 1.4)
|
|
22
|
+
numo-narray (0.9.2.1)
|
|
23
|
+
packable (1.3.18)
|
|
24
|
+
racc (1.8.1)
|
|
25
|
+
rake (13.4.2)
|
|
26
|
+
roo (2.10.1)
|
|
27
|
+
nokogiri (~> 1)
|
|
28
|
+
rubyzip (>= 1.3.0, < 3.0.0)
|
|
29
|
+
roo-xls (1.2.0)
|
|
30
|
+
nokogiri
|
|
31
|
+
roo (>= 2.0.0, < 3)
|
|
32
|
+
spreadsheet (> 0.9.0)
|
|
33
|
+
rover-df (0.4.0)
|
|
34
|
+
numo-narray (>= 0.9.1.9)
|
|
35
|
+
rspec (3.13.2)
|
|
36
|
+
rspec-core (~> 3.13.0)
|
|
37
|
+
rspec-expectations (~> 3.13.0)
|
|
38
|
+
rspec-mocks (~> 3.13.0)
|
|
39
|
+
rspec-core (3.13.6)
|
|
40
|
+
rspec-support (~> 3.13.0)
|
|
41
|
+
rspec-expectations (3.13.5)
|
|
42
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
43
|
+
rspec-support (~> 3.13.0)
|
|
44
|
+
rspec-mocks (3.13.8)
|
|
45
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
46
|
+
rspec-support (~> 3.13.0)
|
|
47
|
+
rspec-support (3.13.7)
|
|
48
|
+
ruby-ole (1.2.13.1)
|
|
49
|
+
rubyzip (2.4.1)
|
|
50
|
+
smarter_csv (1.12.1)
|
|
51
|
+
spreadsheet (1.3.1)
|
|
52
|
+
bigdecimal
|
|
53
|
+
ruby-ole
|
|
54
|
+
|
|
55
|
+
PLATFORMS
|
|
56
|
+
x64-mingw-ucrt
|
|
57
|
+
|
|
58
|
+
DEPENDENCIES
|
|
59
|
+
rake (~> 13.0)
|
|
60
|
+
rspec (~> 3.0)
|
|
61
|
+
yomise!
|
|
62
|
+
|
|
63
|
+
BUNDLED WITH
|
|
64
|
+
2.5.23
|
data/lib/to_csv.rb
CHANGED
|
@@ -85,7 +85,7 @@ class Daru::DataFrame
|
|
|
85
85
|
return piv
|
|
86
86
|
|
|
87
87
|
end
|
|
88
|
-
|
|
88
|
+
|
|
89
89
|
def to_rover
|
|
90
90
|
Rover::DataFrame.new(self.to_a[0])
|
|
91
91
|
end
|
|
@@ -111,10 +111,49 @@ class Rover::DataFrame
|
|
|
111
111
|
return piv.to_rover
|
|
112
112
|
end
|
|
113
113
|
|
|
114
|
-
def outer_join
|
|
114
|
+
def outer_join(other, **kwargs)
|
|
115
115
|
ddr = self.to_daru
|
|
116
|
-
|
|
116
|
+
odr = self.to_daru
|
|
117
|
+
j = ddr.join(how: :outer, **kwargs) ## 外部結合
|
|
117
118
|
return j.to_rover
|
|
118
119
|
end
|
|
119
|
-
|
|
120
|
+
|
|
121
|
+
def categorize(col)
|
|
122
|
+
if col.is_a?(Array)
|
|
123
|
+
self[col].to_a.uniq
|
|
124
|
+
else
|
|
125
|
+
self[[col]].to_a.uniq
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
def get_category(categ)
|
|
130
|
+
a = self[categ.each_key.to_a].to_a
|
|
131
|
+
mask = a.filter_map.with_index {|v, i| i if v == categ }
|
|
132
|
+
return self[mask]
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
## Roverのleft_joinをエラー回避
|
|
136
|
+
def left_join_rev(other, on:)
|
|
137
|
+
left_rows = self.to_a
|
|
138
|
+
right_rows = other.to_a
|
|
139
|
+
|
|
140
|
+
right_map = right_rows.each_with_object({}) do |row, map|
|
|
141
|
+
map[row[on]] = row
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
result_rows = []
|
|
145
|
+
|
|
146
|
+
left_rows.each do |l_row|
|
|
147
|
+
key = l_row[on]
|
|
148
|
+
r_row = right_map[key]
|
|
149
|
+
|
|
150
|
+
if r_row
|
|
151
|
+
result_rows << l_row.merge(r_row)
|
|
152
|
+
else
|
|
153
|
+
result_rows << l_row
|
|
154
|
+
end
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
Rover::DataFrame.new(result_rows)
|
|
158
|
+
end
|
|
120
159
|
end
|
data/lib/yomise/version.rb
CHANGED
data/yomise-0.1.4.gem
ADDED
|
Binary file
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: yomise
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- showata
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-07-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: daru
|
|
@@ -105,6 +105,7 @@ files:
|
|
|
105
105
|
- ".rspec"
|
|
106
106
|
- CODE_OF_CONDUCT.md
|
|
107
107
|
- Gemfile
|
|
108
|
+
- Gemfile.lock
|
|
108
109
|
- LICENSE.txt
|
|
109
110
|
- README.md
|
|
110
111
|
- Rakefile
|
|
@@ -113,7 +114,7 @@ files:
|
|
|
113
114
|
- lib/yomise.rb
|
|
114
115
|
- lib/yomise/version.rb
|
|
115
116
|
- sig/yomise.rbs
|
|
116
|
-
- yomise.
|
|
117
|
+
- yomise-0.1.4.gem
|
|
117
118
|
homepage: https://github.com/show-o-atakun/yomise
|
|
118
119
|
licenses:
|
|
119
120
|
- MIT
|
data/yomise.gemspec
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require_relative "lib/yomise/version"
|
|
4
|
-
|
|
5
|
-
Gem::Specification.new do |spec|
|
|
6
|
-
spec.name = "yomise"
|
|
7
|
-
spec.version = Yomise::VERSION
|
|
8
|
-
spec.authors = ["showata"]
|
|
9
|
-
spec.email = ["shun_yamaguchi_tc@live.jp"]
|
|
10
|
-
|
|
11
|
-
spec.summary = "A simple way to Open .csv, .xls, .xlsx files. (formerly easy_sheet_io)"
|
|
12
|
-
spec.description = "A simple way to Open .csv, .xls, .xlsx files. You can convert it to 2D array, hash, data frame."
|
|
13
|
-
spec.homepage = "https://github.com/show-o-atakun/yomise"
|
|
14
|
-
spec.license = "MIT"
|
|
15
|
-
spec.required_ruby_version = ">= 3.0.0"
|
|
16
|
-
|
|
17
|
-
spec.metadata["homepage_uri"] = spec.homepage
|
|
18
|
-
spec.metadata["source_code_uri"] = "https://github.com/show-o-atakun/yomise"
|
|
19
|
-
|
|
20
|
-
# spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
|
|
21
|
-
# spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
|
|
22
|
-
|
|
23
|
-
# Specify which files should be added to the gem when it is released.
|
|
24
|
-
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
25
|
-
spec.files = Dir.chdir(__dir__) do
|
|
26
|
-
`git ls-files -z`.split("\x0").reject do |f|
|
|
27
|
-
(File.expand_path(f) == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|circleci)|appveyor)})
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
spec.bindir = "exe"
|
|
31
|
-
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
|
32
|
-
spec.require_paths = ["lib"]
|
|
33
|
-
|
|
34
|
-
spec.add_dependency "daru", ">= 0.3"
|
|
35
|
-
spec.add_dependency "rover-df", ">= 0.2.7"
|
|
36
|
-
spec.add_dependency "smarter_csv", ">= 1.4.2"
|
|
37
|
-
spec.add_dependency "roo-xls", ">= 1.2.0"
|
|
38
|
-
spec.add_dependency "spreadsheet", ">= 1.3.0"
|
|
39
|
-
spec.add_dependency "matrix"
|
|
40
|
-
|
|
41
|
-
# Uncomment to register a new dependency of your gem
|
|
42
|
-
# spec.add_dependency "example-gem", "~> 1.0"
|
|
43
|
-
|
|
44
|
-
# For more information and examples about making a new gem, check out our
|
|
45
|
-
# guide at: https://bundler.io/guides/creating_gem.html
|
|
46
|
-
end
|