【问题标题】:de-duplicate a list of strings删除重复的字符串列表
【发布时间】:2014-09-16 16:19:06
【问题描述】:

我经常遇到这个问题:

  • 我有一个包含数据列表的 csv 文件
  • 我需要删除重复项(或者有时需要找到重复的值)

csv 很容易带入excel,但我找不到(或永远不记得)查找/删除/计数重复值的好方法。

我可以将数据导出到数据库并运行一些简单的 sql 查询来完成所有这些操作,但随后数据库会妨碍大多数其他操作,我最终会将数据导出回 excel 以执行单元格级别的工作.

难道没有一些工具可以使处理表格数据像 excel 一样简单,但包含 sql 查询语言的更强大的功能?

【问题讨论】:

  • 我还在网上找到了这个工具,它可以简化浏览器中的重复列表,但它当然是在线的,但仍然不是最佳选择:amazify.com/find-duplicates-in-a-list-of-strings
  • 我正在“描述问题以及到目前为止我为解决它所做的工作”,但到目前为止我对我的解决方案并不满意。谢谢

标签: mysql sql excel csv deduplication


【解决方案1】:

使用 PowerShell

直接,或通过VBA效率较低

更新:我注意到这假设您在 csv 中有两列,标题分别为 FirstLast - 这应该在下面的示例中清楚地说明您需要在哪里更新它 em>

 Sub Better()
 X = Shell("powershell.exe  Import-Csv C:\temp\test.csv | sort First,Last  -unique | Export-Csv  C:\temp\test2.csv -NoTypeInformation", 1)
 End Sub

Import-Csv C:\temp\test.csv | sort First,Last  -unique | Export-Csv  C:\temp\test2.csv -NoTypeInformation

【讨论】:

    【解决方案2】:

    要添加另一种方法,您可以使用数据透视表来实现此目的。

    使用记录创建数据透视表,将您想要唯一记录的列的名称拖到数据透视表的“行标签”字段中。

    如果你喜欢键盘快捷键:

    1. 单击 csv 数据区域中的任意位置
    2. 键盘输入顺序:Alt+DAlt+PAlt+F
    3. 将预期列的列名拖到行标签中。

    【讨论】:

      【解决方案3】:

      两种选择:

      选项 1

      • 数据选项卡
      • 点击:删除重复项
      • 选择要从中删除重复项的列

      选项 2

      • 在 Excel 中使用以下公式:=COUNTIF($A$2:$A$100,A2)

        此公式假定要检查的值在 A 列中,从第 2 行开始,一直延伸到第 100 行。根据需要进行调整。

        您可以将此公式拖到数据集的底部,然后过滤大于 1 的值。这些将显示重复值,您可以选择删除它们。

      【讨论】:

      • 选项 1 是否适用于删除比单列更宽的“行”数据?
      【解决方案4】:

      在 Excel 中,您可以执行以下操作:

      • 转到数据标签
      • 选择过滤器-->高级过滤器
      • 检查仅唯一记录

      然后您可以通过突出显示、复制和粘贴来将列表复制到其他位置。

      将数据移动到数据库来执行此操作是多余的,除非您想要完成额外的处理。

      【讨论】:

        【解决方案5】:

        在我看来,没有什么比直接使用 MySQL 数据更好的了……最接近 MySQL 的 Excel 单元格编辑的方法是使用免费的Heidisql

        这是一个了不起的应用程序,我一直在使用它。这对 MySQL 来说是最好的,因为您可以充分利用查询和出色的 MySQL 数据库管理。比 phpmyadmin 等替代方案更灵活、更快速。要提高某些远程主机连接速度...请务必取消选中会话管理器中高级选项卡下的“获取完整表状态”。

        如果您需要一种快速简便的方法将 Excel 数据导入 MySQL,我编写了一个可以免费试用的程序,它将 Excel 数据传输到 MySQL,名为 Excel2MySQL

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-08-02
          • 1970-01-01
          • 2011-12-17
          • 1970-01-01
          • 2016-10-24
          • 1970-01-01
          • 2019-05-05
          相关资源
          最近更新 更多