yomise 0.1.5 → 0.1.6
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 +5 -1
- data/lib/to_csv.rb +5 -0
- data/lib/yomise/version.rb +1 -1
- data/lib/yomise.rb +38 -0
- metadata +16 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 78002d4377a1d60ce69069176ade33417a2c3a5f314219ad4cc4f7478901ab3c
|
|
4
|
+
data.tar.gz: d305b232bef804cef56c2cf176ad09d76cea221285241bcaabbb742d77ae6e2f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 37211454371d320e095c374971a00d57d810521ee4eb61c31818956875b24e52685171b5425ec5cdcd4517090e8832506d24ef736ed6ba67149af2d6847caf3f
|
|
7
|
+
data.tar.gz: 65cc563278294f8da1860cd76c2f8e408043e93374b95e93a84a59d494c58c5869ed3e75772965f4bb9f90351bb24a24a11e284700a30af3e6390ee0188f0aa9
|
data/Gemfile.lock
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
yomise (0.1.
|
|
4
|
+
yomise (0.1.6)
|
|
5
5
|
daru (>= 0.3)
|
|
6
6
|
matrix
|
|
7
7
|
roo-xls (>= 1.2.0)
|
|
8
8
|
rover-df (>= 0.2.7)
|
|
9
|
+
rubyXL (>= 3.4.27)
|
|
9
10
|
smarter_csv (>= 1.4.2)
|
|
10
11
|
spreadsheet (>= 1.3.0)
|
|
11
12
|
|
|
@@ -46,6 +47,9 @@ GEM
|
|
|
46
47
|
rspec-support (~> 3.13.0)
|
|
47
48
|
rspec-support (3.13.7)
|
|
48
49
|
ruby-ole (1.2.13.1)
|
|
50
|
+
rubyXL (3.4.34)
|
|
51
|
+
nokogiri (>= 1.10.8)
|
|
52
|
+
rubyzip (~> 2.4)
|
|
49
53
|
rubyzip (2.4.1)
|
|
50
54
|
smarter_csv (1.12.1)
|
|
51
55
|
spreadsheet (1.3.1)
|
data/lib/to_csv.rb
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require "daru"
|
|
2
2
|
require "rover"
|
|
3
|
+
require "roo"
|
|
3
4
|
|
|
4
5
|
class Daru::DataFrame
|
|
5
6
|
def to_csv()
|
|
@@ -118,6 +119,10 @@ class Rover::DataFrame
|
|
|
118
119
|
return j.to_rover
|
|
119
120
|
end
|
|
120
121
|
|
|
122
|
+
def map(&block)
|
|
123
|
+
self.to_a.map(&block)
|
|
124
|
+
end
|
|
125
|
+
|
|
121
126
|
def categorize(col)
|
|
122
127
|
if col.is_a?(Array)
|
|
123
128
|
self[col].to_a.uniq
|
data/lib/yomise/version.rb
CHANGED
data/lib/yomise.rb
CHANGED
|
@@ -2,12 +2,23 @@
|
|
|
2
2
|
require "csv"
|
|
3
3
|
require "roo-xls"
|
|
4
4
|
require "spreadsheet"
|
|
5
|
+
require "rubyXL"
|
|
5
6
|
require "rover"
|
|
6
7
|
require "daru"
|
|
7
8
|
require_relative "./to_csv"
|
|
8
9
|
require_relative "./longest_line"
|
|
9
10
|
require_relative "yomise/version"
|
|
10
11
|
|
|
12
|
+
## 欲しい: DateTimeをいい感じのメソッドに変える
|
|
13
|
+
## 2列目以降ならこんな感じ
|
|
14
|
+
# piv.vectors.to_a[1..].each do |c|
|
|
15
|
+
# piv[c] = piv[c].map { _1.to_s.gsub("T", " ").gsub("+00:00", "")}
|
|
16
|
+
# end
|
|
17
|
+
|
|
18
|
+
## joinで列順変更不要のものが欲しい
|
|
19
|
+
|
|
20
|
+
# write_excelでDF横並び、縦並びも可にしたい
|
|
21
|
+
|
|
11
22
|
module Yomise
|
|
12
23
|
class Error < StandardError; end
|
|
13
24
|
|
|
@@ -244,6 +255,33 @@ module Yomise
|
|
|
244
255
|
end
|
|
245
256
|
end
|
|
246
257
|
|
|
258
|
+
def write_excel(dfs, filename, sheetnames: nil)
|
|
259
|
+
|
|
260
|
+
dfs = [dfs] if !dfs.is_a?(Array)
|
|
261
|
+
if sheetnames.nil?
|
|
262
|
+
sheetnames = dfs.map.with_index {|d, i| "sheet#{i+1}" }
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
workbook = RubyXL::Workbook.new
|
|
266
|
+
|
|
267
|
+
dfs.each_with_index do |df, idx|
|
|
268
|
+
worksheet = workbook.add_worksheet(
|
|
269
|
+
sheetnames.length <= idx ? "sheet#{idx}" : sheetnames[idx].to_s
|
|
270
|
+
)
|
|
271
|
+
|
|
272
|
+
df.to_h.each_with_index do |(key, itms), coli|
|
|
273
|
+
worksheet.add_cell(0, coli, key)
|
|
274
|
+
itms.each_with_index do |itm, linei|
|
|
275
|
+
worksheet.add_cell(linei+1, coli, itm.to_s)
|
|
276
|
+
end
|
|
277
|
+
end
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
workbook.worksheets.delete_at(0)
|
|
281
|
+
workbook.write(filename)
|
|
282
|
+
|
|
283
|
+
end
|
|
284
|
+
|
|
247
285
|
# Fix Array (Replace specific values to nil, recognize value type and cast values to the type.)
|
|
248
286
|
def fix_array(array2d, replaced_by_nil, analyze_type)
|
|
249
287
|
ans = array2d
|
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.6
|
|
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-08-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: daru
|
|
@@ -66,6 +66,20 @@ dependencies:
|
|
|
66
66
|
- - ">="
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: 1.2.0
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: rubyXL
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: 3.4.27
|
|
76
|
+
type: :runtime
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: 3.4.27
|
|
69
83
|
- !ruby/object:Gem::Dependency
|
|
70
84
|
name: spreadsheet
|
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|