dorian-csv-merge 0.0.1

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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/bin/csv-merge +19 -0
  3. metadata +62 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 7cb6ea90bb70d5887e8646697862092dd4bf331a860e70a1ac4e7f041581312e
4
+ data.tar.gz: 02e5653bfc7e8c306e56959f32cffa741d9fc19a4f791021a10604a9b0fbb0db
5
+ SHA512:
6
+ metadata.gz: a7dddd2b0089c611a71fd586dde4f08f41b5b3ac2a9423678eeabcba2e2b5bfbfd902eb3bf93f4afdd315f4f789b171c5c36af950f356d96f85880011b74d25e
7
+ data.tar.gz: f2ab70953bcc426ac4296d630b6a741fc086c3b3141968258a29e6680a5dc92b77f8c75e6139bb0381af837980af1fc58488e58d8b13425845735b5235a9d4ee
data/bin/csv-merge ADDED
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "csv"
5
+
6
+ abort "USAGE: csv-merge CSV_FILE1 CSV_FILE2... CSV_OUTPUT" if ARGV.size < 3
7
+
8
+ INPUTS = ARGV[...-1].map { |input| CSV.parse(File.read(input), headers: true) }
9
+ OUTPUT = ARGV.last
10
+ HEADERS = INPUTS.first.headers
11
+
12
+ CSV.open(OUTPUT, "w") do |csv|
13
+ csv << HEADERS
14
+ INPUTS.each do |input|
15
+ input.each do |line|
16
+ csv << line
17
+ end
18
+ end
19
+ end
metadata ADDED
@@ -0,0 +1,62 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dorian-csv-merge
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Dorian Marié
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2024-08-15 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: csv
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: |-
28
+ Merges multiple csv files with headers
29
+
30
+ e.g. `csv-merge users_1.csv users_2.csv users.csv`
31
+ email: dorian@dorianmarie.com
32
+ executables:
33
+ - csv-merge
34
+ extensions: []
35
+ extra_rdoc_files: []
36
+ files:
37
+ - bin/csv-merge
38
+ homepage: https://github.com/dorianmariecom/dorian-csv-merge
39
+ licenses:
40
+ - MIT
41
+ metadata:
42
+ rubygems_mfa_required: 'true'
43
+ post_install_message:
44
+ rdoc_options: []
45
+ require_paths:
46
+ - lib
47
+ required_ruby_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: '0'
52
+ required_rubygems_version: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ requirements: []
58
+ rubygems_version: 3.5.11
59
+ signing_key:
60
+ specification_version: 4
61
+ summary: Merges multiple csv files with headers
62
+ test_files: []