我有一个csv文件,它的记录格式如下:
HERMES; 1981-04-11我只想提取日期不唯一的记录。我尝试了下面所示的嵌套循环,但是我得到了所有的记录。
输出应该是这样的:
HERMES 1981-04-11
HERMES 1981-04-11
HERMES 1981-04-11
MARCIO 1954-03-04
MARCIO 1954-03-04
LILIAN 1970-04-19
KLEBER 1967-12-14
RAIMUNDO 1981-04-11
RAIMUNDO 1981-04-11
RAIMUNDO 1981-04-11
FRANCISCO 1924-03-28
RUI 0002-11-30
MARIA 1954-03-04
MARIA 1954-03-04
MANOEL 1968-03-24
JOANNA 1981-04-11
JOANNA 1981-04-11
JOANNA 1981-04-11到目前为止我的代码是:
for num in 0..9
for num1 in 0..9
dataAtual = csv[num][1]
xatual = csv[num1][1]
if dataAtual == xatual
datas["nome"] = csv[num][0]
datas["data"] = csv[num][1]
puts datas["nome"] + " " +datas["data"]
end
end
end发布于 2015-07-04 22:13:52
如果我正确地理解了您的意思,则需要打印具有重复日期的行:
require 'csv'
all_rows = CSV.read('test.csv', col_sep: ';')
all_rows.select do |row|
all_rows.count { |srow| row[1].strip == srow[1].strip } > 1
end.each { |row| puts "#{row[0]} #{row[1]}" }
在这里,我们得到所有的行,并通过;将它们分开。在此之后,我们只选择第二部分可以多次找到的行,最后打印选定的行。
https://stackoverflow.com/questions/31225323
复制相似问题