【发布时间】:2018-07-21 19:26:23
【问题描述】:
从包含超过 500 万行和 1 列的 CSV 文件中删除重复条目的最快方法是什么?我尝试了一些免费软件程序,但它们总是崩溃,并且 excel 仅支持 1M 行。
【问题讨论】:
标签: csv
从包含超过 500 万行和 1 列的 CSV 文件中删除重复条目的最快方法是什么?我尝试了一些免费软件程序,但它们总是崩溃,并且 excel 仅支持 1M 行。
【问题讨论】:
标签: csv
这将只是一个高级答案(无代码),因为我们没有文件的详细信息或问题中的任何其他内容可以构建...甚至不知道要使用什么语言。
首先排序。
迭代其次是数据。
复制好的(唯一)行到新的文件。
完成后用副本替换原始文件。
您将很容易知道哪些行是“好”的,因为数据已排序,因此您只需要保留前一行的值即可进行比较。
【讨论】:
假设您在 Mac 或 Linux 机器(或 Unix-y)上运行,这个 bash 命令可以解决问题:
sort < my_big_file.csv | uniq > deduped.csv
【讨论】:
您可以在 PowerShell 中使用
$noDupes = @(Get-Content -Path 'C:\Temp\original.csv') | Sort-Object -Unique
$noDupes | Out-File -FilePath 'C:\Temp\deduped.csv' -Force
【讨论】: