1

我经常遇到这个问题:

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

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

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

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

4

5 回答 5

1

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

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

如果你喜欢键盘快捷键:

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

使用 PowerShell

直接,或通过效率较低VBA

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

 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
于 2014-07-24T23:45:43.997 回答
1

两种选择:

选项1

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

选项 2

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

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

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

于 2014-07-25T00:09:52.640 回答
0

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

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

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

于 2014-07-25T04:16:19.010 回答
0

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

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

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

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

于 2014-07-24T22:51:43.350 回答