gpt4 book ai didi

ruby - 基于 Ruby 中的列删除重复项

转载 作者:数据小太阳 更新时间:2023-10-29 07:43:24 26 4
gpt4 key购买 nike

我的问题类似于this .基本上有一个 CSV 文件,但有重复的 PID,但我不能像这样执行 .uniq:

File.open("new.csv", "w+") { |file| file.puts File.readlines("old.csv").uniq }

因为线路不同。我是 Ruby 的新手,想知道是否有一种优雅的方法可以仅基于第一列删除整行?还是我必须遍历每一行并查找重复的 PID?

最佳答案

您可以向 uniq 传递一个 block 来指定它将删除重复元素的要求。

File.open("old.csv", "w+") do |file|
file.puts File.readlines("csv.csv").uniq! { |s| s[/^\d+/ ] }
end

uniq documentation 中所述.

/^\d+/ 正则表达式替换为适合您的任何人。

关于ruby - 基于 Ruby 中的列删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11507624/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com