Ruby 将CSV解析为多行,其中每个值在其标题后打印
使用Ruby 1.9.2,我需要解析一个CSV文件,并输出带有每个头键和单个值的行,以及行号 标题:键1、键2、键3Ruby 将CSV解析为多行,其中每个值在其标题后打印,ruby,arrays,csv,hashtable,Ruby,Arrays,Csv,Hashtable,使用Ruby 1.9.2,我需要解析一个CSV文件,并输出带有每个头键和单个值的行,以及行号 标题:键1、键2、键3 第1行:a、b、c 第2行:d,f 预期产出: 1 键1A 键2 b 键3 c 二, 键1d 键2 键3 f 现在,我正在努力将标题与值结合起来,但我很难做到 require 'csv' header = File.open('TEXT.CSV', &:readline) keys = header.split(",") values = CSV.read("TE
第1行:a、b、c
第2行:d,f 预期产出: 1
键1A
键2 b
键3 c 二, 键1d
键2
键3 f 现在,我正在努力将标题与值结合起来,但我很难做到
require 'csv'
header = File.open('TEXT.CSV', &:readline)
keys = header.split(",")
values = CSV.read("TEXT.CSV")
def combine(a,b)
zipped = a.zip(b)
Hash[zipped]
end
keyvalue = values.each do |i|
combine(keys,i)
end
你知道我做错了什么吗?我认为这是一个更简单的方法:
require 'csv'
csv = CSV.read('branch.csv', :headers => true)
csv.each do |line|
puts csv.headers.zip(line.fields)
end
# =>
key1
a
key2
b
key3
c
key1
d
key2
key3
f
我认为这是一个更简单的方法:
require 'csv'
csv = CSV.read('branch.csv', :headers => true)
csv.each do |line|
puts csv.headers.zip(line.fields)
end
# =>
key1
a
key2
b
key3
c
key1
d
key2
key3
f
创建:
line 1
key1 : a
key2 : b
key3 : c
line 2
key1 : d
key2 :
key3 : f
创建:
line 1
key1 : a
key2 : b
key3 : c
line 2
key1 : d
key2 :
key3 : f