首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从csv文件中获取带有重复日期的记录

从csv文件中获取带有重复日期的记录
EN

Stack Overflow用户
提问于 2015-07-04 21:40:19
回答 1查看 63关注 0票数 1

我有一个csv文件,它的记录格式如下:

代码语言:javascript
复制
HERMES; 1981-04-11

我只想提取日期不唯一的记录。我尝试了下面所示的嵌套循环,但是我得到了所有的记录。

输出应该是这样的:

代码语言:javascript
复制
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

到目前为止我的代码是:

代码语言:javascript
复制
  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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-04 22:13:52

如果我正确地理解了您的意思,则需要打印具有重复日期的行:

代码语言:javascript
复制
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]}" }

在这里,我们得到所有的行,并通过;将它们分开。在此之后,我们只选择第二部分可以多次找到的行,最后打印选定的行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31225323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档