0

我有一个包含三种信息的 CSV:userID、wordID、ct

(基本上,14k 不同的推文,他们使用的每个单词都有不同的行,包括该单词的计数)

我希望能够仅针对具有至少 2000 个不同 wordID 的用户 ID 过滤此文件。

我了解如何浏览文件并计算每个用户 ID 的 wordID,但我不知道如何将其与“现在只为真正频繁使用的用户 ID 放置 'userID,wordID,ct'”相结合。

任何帮助深表感谢。

4

1 回答 1

0

这是我当前处理文件的方式。我怀疑有更有效的方法可以做到这一点,因为文件本身是 19m 行——对效率的思考肯定会受到赞赏。

filename = ARGV[0]

file = File.new(filename, "r")

entry = {}

file.each do |line|
        user, word, ct = line.chomp.split(",")
        entry[user] = entry[user].to_i + 1
end

file = File.new(filename, "r")

file.each do |line| 
line.strip!
        user, word, ct = line.chomp.split(",")
        if entry[user] >= 2000
                puts line   
        end
end
于 2013-03-03T21:37:02.683 回答