我经常遇到这个问题:
- 我有一个包含数据列表的 csv 文件
- 我需要删除重复项(或者有时,找到重复的值)
csv
很容易引入,excel
但我找不到(或者永远不记得)查找/删除/计数重复值的好方法。
我可以将数据导出到数据库并运行一些简单的 sql 查询来完成所有这些操作,但随后数据库妨碍了大多数其他操作,我最终将数据导出回 excel 以执行单元级别的工作。
有没有一些工具可以让处理表格数据像 excel 一样简单,但包含 sql 查询语言的更强大的功能?
我经常遇到这个问题:
csv
很容易引入,excel
但我找不到(或者永远不记得)查找/删除/计数重复值的好方法。
我可以将数据导出到数据库并运行一些简单的 sql 查询来完成所有这些操作,但随后数据库妨碍了大多数其他操作,我最终将数据导出回 excel 以执行单元级别的工作。
有没有一些工具可以让处理表格数据像 excel 一样简单,但包含 sql 查询语言的更强大的功能?
要添加另一种方法,您可以为此目的使用数据透视表。
使用记录创建一个数据透视表,将您想要唯一记录的列的名称拖到数据透视表的“行标签”字段中。
如果你喜欢键盘快捷键:
使用 PowerShell
直接,或通过效率较低VBA
更新:我注意到这假设您在csv
标题中有两列First
和Last
- 这应该在下面的示例中清楚地说明您需要在哪里更新它
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
两种选择:
选项1
选项 2
在 Excel 中使用以下公式:=COUNTIF($A$2:$A$100,A2)
此公式假定要检查的值在 A 列中,从第 2 行开始,并延伸到第 100 行。根据需要进行调整。
您可以将此公式拖到数据集的底部,然后过滤大于 1 的值。这些将显示重复值,您可以选择删除它们。
在我看来,没有什么比直接使用 MySQL 数据更好的了……最接近 MySQL 的 Excel 单元格编辑的方法是使用免费的Heidisql。
这是一个了不起的应用程序,我一直在使用它。这对 MySQL 来说是最好的,因为您可以充分利用查询和出色的 MySQL 数据库管理。比 phpmyadmin 等替代方案更灵活、更快速。要提高某些远程主机连接速度...只需确保取消选中会话管理器中高级选项卡下的“获取完整表状态”。
如果您需要一种快速简便的方法将 Excel 数据导入 MySQL,我编写了一个可以免费试用的程序,它将 Excel 数据传输到 MySQL,名为Excel2MySQL。
在 Excel 中,您可以执行以下操作:
然后,您可以通过突出显示、复制和粘贴来将列表复制到其他地方。
将数据移动到数据库来执行此操作是多余的,除非您想要完成额外的处理。