table_analysis 0.1.2 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 13a1fb68d047cfe87c585371d029bbcb3d3fb073c8107ef8fcba5000c80ddb88
4
- data.tar.gz: 30c80555dd72d8fa583c677ddd9ac8e38c69116e10d9ee6c124edabc417ecff9
3
+ metadata.gz: e9bf918d52ccc29e84ca90d77bd5e0f46946d4fc960e22bd81d6552459fbf236
4
+ data.tar.gz: 0a07dd387dc71a76ee60b40d64e501eac515cbb3e0db6ec1a2de57f980694baa
5
5
  SHA512:
6
- metadata.gz: 2eebc65a935e80aa0840484e147a9da852839eee74cdde0d96c086a8393858cce46859566e61595dba349a263791f285b3f3584bb2b08950035cc1f0a02a4676
7
- data.tar.gz: 377ec082df94eaea375331b04aff2529aacd91fa34235a4baf29df5d6dd3a328e342b0da2e91051ec7d9150b578caa0b0d363023ba97c446500f3070435a8cb1
6
+ metadata.gz: 7adf1b44623efce822185d8b45b6d2f0cb9d8ae0da74d39a99fa74ddb621e454276096740cbd0353829e8d7ef2744a03d48bfc18e7b974720ac2e917ae23a578
7
+ data.tar.gz: 7683f2c480e3d956a9c61901f3cef32922323c6c080c2291178222a08f4df430436eae50123e2ef604f3f3ffdec6d871954373ca3838b619a65021ec7bb74e8f
data/demo.rb CHANGED
@@ -2,4 +2,4 @@ require './lib/table_analysis.rb'
2
2
 
3
3
  doc = File.read('file/demo2.html')
4
4
 
5
- TableAnalysis::Main.generator(doc, 1)
5
+ TableAnalysis::Main.generator(doc, 2, 1)
data/file/demo2.html CHANGED
@@ -10,6 +10,14 @@
10
10
  <col style="width:139.5pt;min-width:139.5pt;"/>
11
11
  <col style="width:105pt;min-width:105pt;"/>
12
12
  </colgroup>
13
+ <tr style="height:21.8pt">
14
+ <td valign="middle" style="vertical-align:middle;border-top-style:solid;border-top-width:0.75pt;border-bottom-style:solid;border-bottom-width:0.75pt;border-left-style:solid;border-left-width:0.75pt;border-right-style:solid;border-right-width:0.75pt;">
15
+ <p class="smt_tblC">1</p>
16
+ </td>
17
+ <td valign="middle" style="vertical-align:middle;border-top-style:solid;border-top-width:0.75pt;border-bottom-style:solid;border-bottom-width:0.75pt;border-left-style:solid;border-left-width:0.75pt;border-right-style:solid;border-right-width:0.75pt;">
18
+ <p class="smt_tblC">2</p>
19
+ </td>
20
+ </tr>
13
21
  <tr style="height:21.8pt">
14
22
  <td valign="middle" style="vertical-align:middle;border-top-style:solid;border-top-width:0.75pt;border-bottom-style:solid;border-bottom-width:0.75pt;border-left-style:solid;border-left-width:0.75pt;border-right-style:solid;border-right-width:0.75pt;">
15
23
  <p class="smt_tblC">契約会社名</p>
@@ -1,3 +1,3 @@
1
1
  module TableAnalysis
2
- VERSION = "0.1.2"
2
+ VERSION = '0.1.4'.freeze
3
3
  end
@@ -3,23 +3,23 @@ require_relative 'table_analysis/version'
3
3
  require 'nokogiri'
4
4
  module TableAnalysis
5
5
  class Main
6
- def self.generator(html, *selected_cols)
6
+ def self.generator(html, selected_row, *selected_cols)
7
7
  selected_cols = selected_cols.flatten
8
8
  doc = Nokogiri::HTML(html, nil, 'utf-8')
9
9
  # 多个table,仅处理第一个
10
10
  table = doc.xpath('//table')[0]
11
- return false if table.size = 0
11
+ return false if table.nil?
12
12
  header_content_tds = []
13
13
  body_content_tds = []
14
14
  body_tr_size = 0
15
15
  table.xpath('./tr').each_with_index do |tr, tr_index|
16
- if tr_index == 0
16
+ if tr_index == selected_row.to_i - 1
17
17
  tr.xpath('./td').each do |td|
18
18
  header_name = td.content
19
19
  colspan = td.attribute('colspan')&.value
20
20
  header_content_tds << [header_name, colspan]
21
21
  end
22
- else
22
+ elsif tr_index >= selected_row.to_i
23
23
  body_tr_size += 1
24
24
  tr.xpath('./td').each_with_index do |td, td_index|
25
25
  rowspan = td.attribute('rowspan')&.value
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: table_analysis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - mico_xiaozhen@sina.com